Logo Search packages:      
Sourcecode: djvulibre version File versions

ByteStream::Static Class Reference

Inheritance diagram for ByteStream::Static:

ByteStream GPEnabled

List of all members.


Detailed Description

Read-only ByteStream interface to a memory area. Class ByteStream::Static# implements a read-only ByteStream interface for a memory area specified by the user at construction time. Calls to function read# directly access this memory area. The user must therefore make sure that its content remain valid long enough.

Definition at line 263 of file ByteStream.cpp.


Public Types

enum  codepage_type { RAW, AUTO, NATIVE, UTF8 }

Public Member Functions

virtual GP< ByteStreamduplicate (const size_t xsize) const
int get_count (void) const
GNativeString getAsNative (void)
GUTF8String getAsUTF8 (void)
virtual bool is_static (void) const
 Returns false, unless a subclass of ByteStream::Static.
virtual size_t read (void *buffer, size_t sz)
virtual int seek (long offset, int whence=SEEK_SET, bool nothrow=false)
virtual int size (void) const
 Static (const void *const buffer, const size_t sz)
virtual long tell (void) const
Utility Functions.
Class ByteStream# implements these functions using the virtual interface functions only. All subclasses of ByteStream# inherit these functions.

size_t copy (ByteStream &bsfrom, size_t size=0)
size_t format (const char *fmt,...)
 Allows printf() type operations to a bytestream.
void formatmessage (const char *fmt,...)
TArray< char > get_data (void)
 Use at your own risk, only guarenteed to work for ByteStream::Memorys.
unsigned int read16 ()
unsigned int read24 ()
unsigned int read32 ()
unsigned int read8 ()
size_t readall (void *buffer, size_t size)
virtual size_t readat (void *buffer, size_t sz, int pos)
int scanf (const char *fmt,...)
 Allows scanf() type operations on a bytestream.
size_t writall (const void *buffer, size_t size)
void write16 (unsigned int card16)
void write24 (unsigned int card24)
void write32 (unsigned int card32)
void write8 (unsigned int card8)
void writemessage (const char *message)
size_t writestring (const GNativeString &s)
size_t writestring (const GUTF8String &s)
Virtual Functions.
These functions are usually implemented by each subclass of ByteStream#.

virtual void flush (void)
virtual size_t write (const void *buffer, size_t size)

Static Public Member Functions

static GP< ByteStreamcreate (FILE *const f, char const *const mode, const bool closeme)
static GP< ByteStreamcreate (const int fd, char const *const mode, const bool closeme)
static GP< ByteStreamcreate (char const *const mode)
static GP< ByteStreamcreate (const GURL &url, char const *const mode)
static GP< ByteStreamcreate (void const *const buffer, const size_t size)
static GP< ByteStreamcreate (void)
static GP< ByteStreamcreate_static (void const *const buffer, const size_t size)
static GP< ByteStreamget_stderr (char const *const mode=0)
static GP< ByteStreamget_stdin (char const *const mode=0)
static GP< ByteStreamget_stdout (char const *const mode=0)

Public Attributes

enum ByteStream::codepage_type cp

Static Public Attributes

static const char * EndOfFile = ERR_MSG("EOF")

Protected Attributes

int bsize
volatile int count
 The reference counter.
const char * data

Private Attributes

int where

Friends

class Duplicate

Classes

class  Allocate
class  Duplicate

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index