Program Listing for File void.hpp

Return to documentation for file (/tmp/ws/src/ecl_core/ecl_utilities/include/ecl/utilities/void.hpp)

/*****************************************************************************
** Defines
*****************************************************************************/

#ifndef ECL_UTILITIES_VOID_HPP_
#define ECL_UTILITIES_VOID_HPP_

/*****************************************************************************
** Namespaces
*****************************************************************************/

namespace ecl {

/*****************************************************************************
** Typedefs
*****************************************************************************/
typedef void (*VoidFunction)();

/*****************************************************************************
** Classes
*****************************************************************************/
class Void {
public:
    template <typename OutputStream>
    friend OutputStream& operator << (OutputStream& ostream, const Void void_object);

    virtual ~Void() {}
};

template <typename OutputStream>
OutputStream& operator << (OutputStream& ostream, const Void void_object) { return ostream; }

} // namespace ecl



#endif /*ECL_UTILITIES_VOID_HPP_*/