Forward declarations, tag types and type aliases.
*/
+#include <boost/config.hpp> // BOOST_ATTRIBUTE_NODISCARD
#include <boost/core/use_default.hpp>
-#include <boost/histogram/detail/attribute.hpp> // BOOST_HISTOGRAM_NODISCARD
#include <vector>
namespace boost {
using real_index_type = double;
/// Empty metadata type
-struct null_type {};
+struct null_type {
+ template <class Archive>
+ void serialize(Archive&, unsigned /* version */) {}
+};
+
+/// Another alias for an empty metadata type
+using empty_type = null_type;
#ifndef BOOST_HISTOGRAM_DOXYGEN_INVOKED
#ifndef BOOST_HISTOGRAM_DOXYGEN_INVOKED
template <class Axes, class Storage = default_storage>
-class BOOST_HISTOGRAM_NODISCARD histogram;
+class BOOST_ATTRIBUTE_NODISCARD histogram;
#endif
} // namespace histogram