1
// Copyright (c) 1994 James Clark
2
// See the file COPYING for copying permission.
4
#ifndef InternalInputSource_INCLUDED
5
#define InternalInputSource_INCLUDED 1
11
#include "InputSource.h"
12
#include "Allocator.h"
17
namespace SP_NAMESPACE {
20
class InputSourceOrigin;
24
class SP_API InternalInputSource : public InputSource {
26
void *operator new(size_t sz, Allocator &alloc) { return alloc.alloc(sz); }
27
void *operator new(size_t sz) { return Allocator::allocSimple(sz); }
28
void operator delete(void *p) { Allocator::free(p); }
29
#ifdef SP_HAVE_PLACEMENT_OPERATOR_DELETE
30
void operator delete(void *p, Allocator &) { Allocator::free(p); }
32
InternalInputSource(const StringC &, InputSourceOrigin *);
33
Xchar fill(Messenger &);
34
void pushCharRef(Char ch, const NamedCharRef &);
35
Boolean rewind(Messenger &);
36
~InternalInputSource();
38
InternalInputSource(const InternalInputSource &); // undefined
39
void operator=(const InternalInputSource &); // undefined
41
const StringC *contents_;
48
#endif /* not InternalInputSource_INCLUDED */