In common.h, define func_lib for function objects.  In configure.ac, define HAVE_STD_FUNCTION and HAVE_BOOST_FUNCTION.  Include function headers in ndnboost.
diff --git a/ndnboost/config/compiler/clang.hpp b/ndnboost/config/compiler/clang.hpp
index 18d6e54..8e38821 100644
--- a/ndnboost/config/compiler/clang.hpp
+++ b/ndnboost/config/compiler/clang.hpp
@@ -20,7 +20,7 @@
 #  define BOOST_NO_TYPEID
 #endif
 
-#if defined(__int64)
+#if defined(__int64) && !defined(__GNUC__)
 #  define BOOST_HAS_MS_INT64
 #endif
 
@@ -38,6 +38,16 @@
 #  define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
 #endif
 
+// 
+// The BOOST_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]] 
+#  endif 
+#endif 
+
 #if !__has_feature(cxx_auto_type)
 #  define BOOST_NO_CXX11_AUTO_DECLARATIONS
 #  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
@@ -132,6 +142,10 @@
 #  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
 #endif
 
+#if !__has_feature(cxx_user_literals)
+#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#endif
+
 // Clang always supports variadic macros
 // Clang always supports extern templates