ObjFW  Artifact [55682be82c]

Artifact 55682be82cd2bc5a158faf6845d091d4d5d1153a1698f5b2016328467d91b50f:


/*
 * Copyright (c) 2008
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import <objc/Object.h>

struct __ofobject_allocated_mem {
	void				*ptr;
	struct __ofobject_allocated_mem *prev;
	struct __ofobject_allocated_mem *next;
};

@interface OFObject: Object
{
	struct __ofobject_allocated_mem *__mem_pool;
}

- init;
- (void*)getMem: (size_t)size;
- (void*)resizeMem: (void*)ptr
	    toSize: (size_t)size;
- (void)freeMem: (void*)ptr;
- free;
@end

#ifndef __NO_OFEXCEPTION
#import "OFException.h"

@interface OFMemNotPartOfObjException: OFException
+        new: (void*)p
  fromObject: (id)obj;
-       init: (void*)p
  fromObject: (id)obj;
@end
#endif