Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  filamap.h   Sprache: C

 

/*************** FilAMap H Declares Source Code File (.H) **************/
/*  Name: FILAMAP.H     Version 1.3                                    */
/*                                                                     */
/*  (C) Copyright to the author Olivier BERTRAND          2005-2014    */
/*                                                                     */
/*  This file contains the MAP file access method classes declares.    */
/***********************************************************************/
#ifndef __FILAMAP_H
#define __FILAMAP_H

#include "block.h"
#include "filamtxt.h"

typedef class MAPFAM *PMAPFAM;

/***********************************************************************/
/*  This is the variable file access method using file mapping.        */
/***********************************************************************/
class DllExport MAPFAM : public TXTFAM {
  friend class TDBJSON;
 public:
  // Constructor
  MAPFAM(PDOSDEF tdp);
  MAPFAM(PMAPFAM tmfp);

  // Implementation
  AMT   GetAmType(void) override {return TYPE_AM_MAP;}
  int   GetPos(void) override;
  int   GetNextPos(void) override;
  PTXF  Duplicate(PGLOBAL g) override
                  {return (PTXF)new(g) MAPFAM(this);}

  // Methods
  void  Reset(void) override;
  int   GetFileLength(PGLOBAL g) override;
  int   Cardinality(PGLOBAL g) override {return (g) ? -1 : 0;}
  int   MaxBlkSize(PGLOBAL g, int s) override {return s;}
  int   GetRowID(void) override;
  bool  RecordPos(PGLOBAL g) override;
  bool  SetPos(PGLOBAL g, int recpos) override;
  int   SkipRecord(PGLOBAL g, bool header) override;
  bool  OpenTableFile(PGLOBAL g) override;
  bool  DeferReading(void) override {return false;}
 virtual int   GetNext(PGLOBAL g) {return RC_EF;}
 int   ReadBuffer(PGLOBAL g) override;
  int   WriteBuffer(PGLOBAL g) override;
  int   DeleteRecords(PGLOBAL g, int irc) override;
  void  CloseTableFile(PGLOBAL g, bool abort) override;
  void  Rewind(void) override;

 protected:
  int   InitDelete(PGLOBAL g, int fpos, int spos) override;

  // Members
  char *Memory;               // Pointer on file mapping view.
  char *Mempos;               // Position of next data to read
  char *Fpos;                 // Position of last read record
  char *Tpos;                 // Target Position for delete move
  char *Spos;                 // Start position for delete move
  char *Top;                  // Mark end of file mapping view
  }; // end of class MAPFAM

/***********************************************************************/
/*  This is the blocked file access method using file mapping.         */
/***********************************************************************/
class DllExport MBKFAM : public MAPFAM {
 public:
  // Constructor
  MBKFAM(PDOSDEF tdp);
  MBKFAM(PMAPFAM tmfp) : MAPFAM(tmfp) {}

  // Implementation
  PTXF Duplicate(PGLOBAL g) override
                  {return (PTXF)new(g) MBKFAM(this);}

  // Methods
  void Reset(void) override;
  int  Cardinality(PGLOBAL g) override;
  int  MaxBlkSize(PGLOBAL g, int s) override
                {return TXTFAM::MaxBlkSize(g, s);}
  int  GetRowID(void) override;
  int  SkipRecord(PGLOBAL g, bool header) override;
  int  ReadBuffer(PGLOBAL g) override;
  void Rewind(void) override;

 protected:
  // No additional members
  }; // end of class MBKFAM

/***********************************************************************/
/*  This is the fixed file access method using file mapping.           */
/***********************************************************************/
class DllExport MPXFAM : public MBKFAM {
 public:
  // Constructor
  MPXFAM(PDOSDEF tdp);
  MPXFAM(PMAPFAM tmfp) : MBKFAM(tmfp) {}

  // Implementation
  int   GetPos(void) override;
  PTXF  Duplicate(PGLOBAL g) override
                  {return (PTXF)new(g) MPXFAM(this);}

  // Methods
  int   Cardinality(PGLOBAL g) override {return TXTFAM::Cardinality(g);}
  int   MaxBlkSize(PGLOBAL g, int s) override
                {return TXTFAM::MaxBlkSize(g, s);}
  bool  SetPos(PGLOBAL g, int recpos) override;
  int   GetNextPos(void) override {return GetPos() + 1;}
  bool  DeferReading(void) override {return false;}
  int   ReadBuffer(PGLOBAL g) override;
  int   WriteBuffer(PGLOBAL g) override;

 protected:
  int   InitDelete(PGLOBAL g, int fpos, int spos) override;

  // No additional members
  }; // end of class MPXFAM

#endif // __FILAMAP_H

Messung V0.5 in Prozent
C=69 H=100 G=85

¤ Dauer der Verarbeitung: 0.0 Sekunden  (vorverarbeitet am  2026-10-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1126438
#Domains=1897691