home *** CD-ROM | disk | FTP | other *** search
- #ifndef __RWVPAGE_H__
- #define __RWVPAGE_H__
- pragma push_align_members(64);
-
- /*
- * RWVirtualPageHeap: Abstraction of a page heap, swapped to unknown parts
- *
- * $Header: E:/vcs/rw/vpage.h_v 1.0 11 Mar 1992 14:10:00 KEFFER $
- *
- ****************************************************************************
- *
- * Rogue Wave Software, Inc.
- * P.O. Box 2328
- * Corvallis, OR 97339
- *
- * Copyright (C) 1992. This software is subject to copyright
- * protection under the laws of the United States and other countries.
- *
- ***************************************************************************
- *
- * $Log: E:/vcs/rw/vpage.h_v $
- *
- * Rev 1.0 11 Mar 1992 14:10:00 KEFFER
- * Initial revision.
- */
-
- #include "rw/tooldefs.h"
-
- typedef unsigned RWHandle;
-
- class RWExport RWVirtualPageHeap {
- protected:
- unsigned _pageSize;
- public:
- RWVirtualPageHeap(unsigned pgsize) : _pageSize(pgsize) { }
- virtual ~RWVirtualPageHeap() { }
-
- unsigned pageSize() const {return _pageSize;}
-
- virtual RWHandle allocate() = 0; // Allocate a page
- virtual void deallocate(RWHandle) = 0; // Deallocate it
- virtual void dirty(RWHandle) = 0; // Declare page as dirty
- virtual void* lock(RWHandle) = 0; // Lock a page
- virtual void unlock(RWHandle) = 0; // Unlock a page
- };
-
- pragma pop_align_members();
- #endif /* __RWVPAGE_H__ */
-