///////////////////////////////////////////////////////////////////////////////
// sample.hpp
//
//  Copyright 2005 Eric Niebler. 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_ACCUMULATORS_FRAMEWORK_PARAMETERS_SAMPLE_HPP_EAN_31_10_2005
#define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_SAMPLE_HPP_EAN_31_10_2005

#include <boost/parameter/keyword.hpp>

namespace boost { namespace accumulators
{

BOOST_PARAMETER_KEYWORD(tag, sample)

}} // namespace boost::accumulators

#endif
