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
