//  (C) Copyright Gennadiy Rozental 2005-2008.
//  Use, modification, and distribution are subject to 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)

//  See http://www.boost.org/libs/test for the library home page.
//
//  File        : $RCSfile$
//
//  Version     : $Revision: 49312 $
//
//  Description : offline implementation for parser 
// ***************************************************************************

#include <boost/test/utils/runtime/config.hpp>

#define BOOST_RT_PARAM_INLINE
#include <boost/test/utils/runtime/cla/parser.ipp>
