1 | /* |
1 | /* |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2002 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2002 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992 Frank Tore Johansen |
6 | * Copyright (©) 1992 Frank Tore Johansen |
7 | * |
7 | * |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
9 | * the terms of the Affero GNU General Public License as published by the |
9 | * the terms of the Affero GNU General Public License as published by the |
… | |
… | |
84 | int size () const { return _size + (ptr - last->data); } |
84 | int size () const { return _size + (ptr - last->data); } |
85 | bool empty () const { return !size (); } |
85 | bool empty () const { return !size (); } |
86 | |
86 | |
87 | void linearise (void *data); |
87 | void linearise (void *data); |
88 | char *linearise () // does not 0-terminate(!) |
88 | char *linearise () // does not 0-terminate(!) |
89 | { |
89 | { |
90 | return first->next ? _linearise () : first->data; |
90 | return first->next ? _linearise () : first->data; |
91 | } |
91 | } |
92 | |
92 | |
93 | int room () const { return end - ptr; } |
93 | int room () const { return end - ptr; } |
94 | |
94 | |