summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/eventmachine-1.2.7/ext/page.h
blob: 969fc9169090db6f77ea06f49b0c8a7d804ebeeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*****************************************************************************

$Id$

File:     page.h
Date:     30Apr06

Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
Gmail: blackhedd

This program is free software; you can redistribute it and/or modify
it under the terms of either: 1) the GNU General Public License
as published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version; or 2) Ruby's License.

See the file COPYING for complete licensing information.

*****************************************************************************/


#ifndef __PageManager__H_
#define __PageManager__H_


/**************
class PageList
**************/

class PageList
{
	struct Page {
		Page (const char *b, size_t s): Buffer(b), Size(s) {}
		const char *Buffer;
		size_t Size;
	};

	public:
		PageList();
		virtual ~PageList();

		void Push (const char*, int);
		bool HasPages();
		void Front (const char**, int*);
		void PopFront();

	private:
		std::deque<Page> Pages;
};


#endif // __PageManager__H_