/*
    Copyright 2005-2007 Adobe Systems Incorporated
    Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
    or a copy at http://stlab.adobe.com/licenses.html)
*/

/*************************************************************************************************/

#ifndef ADOBE_FINAL_HPP
#define ADOBE_FINAL_HPP

#include <adobe/config.hpp>

/*************************************************************************************************/

#ifndef ADOBE_NO_DOCUMENTATION

/*************************************************************************************************/

namespace adobe {

/*************************************************************************************************/

namespace implementation {

/*************************************************************************************************/

template <typename T>
class final
{
protected:
    final() { }
};

/*************************************************************************************************/

} // namespace implementation

/*************************************************************************************************/

} // namespace adobe

/*************************************************************************************************/

#endif

/*************************************************************************************************/

#define ADOBE_FINAL(T) private virtual adobe::implementation::final<T>

/*************************************************************************************************/

#endif

/*************************************************************************************************/
