tesseract  3.03
tesseract::TFile Class Reference

#include <serialis.h>

List of all members.

Public Member Functions

 TFile ()
bool Open (const STRING &filename, FileReader reader)
bool Open (const char *data, int size)
bool Open (FILE *fp, inT64 end_offset)
char * FGets (char *buffer, int buffer_size)
int FRead (void *buffer, int size, int count)
void Rewind ()

Detailed Description

Definition at line 41 of file serialis.h.


Constructor & Destructor Documentation

Definition at line 25 of file serialis.cpp.

             : offset_(0) {
}

Member Function Documentation

char * tesseract::TFile::FGets ( char *  buffer,
int  buffer_size 
)

Definition at line 56 of file serialis.cpp.

                                                {
  int size = 0;
  while (size + 1 < buffer_size && offset_ < data_.size()) {
    buffer[size++] = data_[offset_++];
    if (data_[offset_ - 1] == '\n') break;
  }
  if (size < buffer_size) buffer[size] = '\0';
  return size > 0 ? buffer : NULL;
}
int tesseract::TFile::FRead ( void *  buffer,
int  size,
int  count 
)

Definition at line 66 of file serialis.cpp.

                                                  {
  char* char_buffer = reinterpret_cast<char*>(buffer);
  int required_size = size * count;
  if (data_.size() - offset_ < required_size)
    required_size = data_.size() - offset_;
  memcpy(char_buffer, &data_[offset_], required_size);
  offset_ += required_size;
  return required_size / size;
}
bool tesseract::TFile::Open ( const STRING filename,
FileReader  reader 
)

Definition at line 28 of file serialis.cpp.

                                                          {
  offset_ = 0;
  if (reader == NULL)
    return LoadDataFromFile(filename, &data_);
  else
    return (*reader)(filename, &data_);
}
bool tesseract::TFile::Open ( const char *  data,
int  size 
)

Definition at line 36 of file serialis.cpp.

                                           {
  offset_ = 0;
  data_.init_to_size(size, 0);
  memcpy(&data_[0], data, size);
  return true;
}
bool tesseract::TFile::Open ( FILE *  fp,
inT64  end_offset 
)

Definition at line 43 of file serialis.cpp.

                                           {
  offset_ = 0;
  inT64 current_pos = ftell(fp);
  if (end_offset < 0) {
    fseek(fp, 0, SEEK_END);
    end_offset = ftell(fp);
    fseek(fp, current_pos, SEEK_SET);
  }
  int size = end_offset - current_pos;
  data_.init_to_size(size, 0);
  return static_cast<int>(fread(&data_[0], 1, size, fp)) == size;
}
void tesseract::TFile::Rewind ( ) [inline]

Definition at line 62 of file serialis.h.

                {
    offset_ = 0;
  }

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines