// vi:set ft=cpp: -*- Mode: C++ -*- /* * (c) 2008-2009 Alexander Warg * economic rights: Technische Universität Dresden (Germany) * This file is part of TUD:OS and distributed under the terms of the * GNU Lesser General Public License 2.1. * Please see the COPYING-LGPL-2.1 file for details. */ #pragma once namespace Ldr { class Stack { public: virtual char *push_object(void const *src, unsigned long size) = 0; template< typename T > T *push(T const &v) { return reinterpret_cast(push_object(&v, sizeof(T))); } virtual ~Stack() {} }; }