SNAP Library 2.4, User Reference  2015-05-11 19:40:56
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TMIn Class Reference

#include <fl.h>

Inherits TSIn.

Public Member Functions

 TMIn (const void *_Bf, const int &_BfL, const bool &TakeBf=false)
 
 TMIn (TSIn &SIn)
 
 TMIn (const char *CStr)
 
 TMIn (const TStr &Str)
 
 TMIn (const TChA &ChA)
 
 ~TMIn ()
 
bool Eof ()
 
int Len () const
 
char GetCh ()
 
char PeekCh ()
 
int GetBf (const void *LBf, const TSize &LBfL)
 
void Reset ()
 
bool GetNextLnBf (TChA &LnChA)
 
char * GetBfAddr ()
 
- Public Member Functions inherited from TSIn
 TSIn ()
 
 TSIn (const TStr &Str)
 
virtual ~TSIn ()
 
bool IsFastMode () const
 
void SetFastMode (const bool &_FastMode)
 
void LoadCs ()
 
void LoadBf (const void *Bf, const TSize &BfL)
 
void * LoadNewBf (const int &BfL)
 
void Load (bool &Bool)
 
void Load (uchar &UCh)
 
void Load (char &Ch)
 
void Load (short &Short)
 
void Load (ushort &UShort)
 
void Load (int &Int)
 
void Load (uint &UInt)
 
void Load (int64 &Int)
 
void Load (uint64 &UInt)
 
void Load (double &Flt)
 
void Load (sdouble &SFlt)
 
void Load (ldouble &LFlt)
 
void Load (char *&CStr, const int &MxCStrLen, const int &CStrLen)
 
void Load (char *&CStr)
 
TSInoperator>> (bool &Bool)
 
TSInoperator>> (uchar &UCh)
 
TSInoperator>> (char &Ch)
 
TSInoperator>> (short &Sh)
 
TSInoperator>> (ushort &USh)
 
TSInoperator>> (int &Int)
 
TSInoperator>> (uint &UInt)
 
TSInoperator>> (int64 &Int)
 
TSInoperator>> (uint64 &UInt)
 
TSInoperator>> (float &Flt)
 
TSInoperator>> (double &Double)
 
TSInoperator>> (long double &LDouble)
 
bool GetNextLn (TStr &LnStr)
 
bool GetNextLn (TChA &LnChA)
 
- Public Member Functions inherited from TSBase
 TSBase (const TSStr &Nm)
 
virtual ~TSBase ()
 
virtual TStr GetSNm () const
 

Static Public Member Functions

static PSIn New (const void *_Bf, const int &_BfL, const bool &TakeBf=false)
 
static PSIn New (const char *CStr)
 
static PSIn New (const TStr &Str)
 
static PSIn New (const TChA &ChA)
 

Private Member Functions

 TMIn ()
 
 TMIn (const TMIn &)
 
TMInoperator= (const TMIn &)
 

Private Attributes

char * Bf
 
int BfC
 
int BfL
 

Additional Inherited Members

- Static Public Attributes inherited from TSIn
static const TPt< TSInStdIn =PSIn(new TStdIn())
 
- Protected Attributes inherited from TSBase
TCRef CRef
 
TSStr SNm
 
TCs Cs
 

Detailed Description

Definition at line 384 of file fl.h.

Constructor & Destructor Documentation

TMIn::TMIn ( )
private
TMIn::TMIn ( const TMIn )
private
TMIn::TMIn ( const void *  _Bf,
const int &  _BfL,
const bool &  TakeBf = false 
)

Definition at line 538 of file fl.cpp.

538  :
539  TSBase("Input-Memory"), TSIn("Input-Memory"), Bf(NULL), BfC(0), BfL(_BfL){
540  if (TakeBf){
541  Bf=(char*)_Bf;
542  } else {
543  Bf=new char[BfL]; memmove(Bf, _Bf, BfL);
544  }
545 }
TSBase(const TSStr &Nm)
Definition: fl.h:50
char * Bf
Definition: fl.h:386
int BfC
Definition: fl.h:387
TSIn()
Definition: fl.h:65
int BfL
Definition: fl.h:387
TMIn::TMIn ( TSIn SIn)

Definition at line 547 of file fl.cpp.

547  :
548  TSBase("Input-Memory"), TSIn("Input-Memory"), Bf(NULL), BfC(0), BfL(0){
549  BfL=SIn.Len(); Bf=new char[BfL];
550  for (int BfC=0; BfC<BfL; BfC++){Bf[BfC]=SIn.GetCh();}
551 }
TSBase(const TSStr &Nm)
Definition: fl.h:50
char * Bf
Definition: fl.h:386
int BfC
Definition: fl.h:387
TSIn()
Definition: fl.h:65
int BfL
Definition: fl.h:387
virtual char GetCh()=0
virtual int Len() const =0
TMIn::TMIn ( const char *  CStr)

Definition at line 553 of file fl.cpp.

553  :
554  TSBase("Input-Memory"), TSIn("Input-Memory"), Bf(NULL), BfC(0), BfL(0){
555  BfL=int(strlen(CStr)); Bf=new char[BfL+1]; strcpy(Bf, CStr);
556 }
TSBase(const TSStr &Nm)
Definition: fl.h:50
char * Bf
Definition: fl.h:386
int BfC
Definition: fl.h:387
TSIn()
Definition: fl.h:65
int BfL
Definition: fl.h:387
TMIn::TMIn ( const TStr Str)

Definition at line 558 of file fl.cpp.

558  :
559  TSBase("Input-Memory"), TSIn("Input-Memory"), Bf(NULL), BfC(0), BfL(0){
560  BfL=Str.Len(); Bf=new char[BfL]; strncpy(Bf, Str.CStr(), BfL);
561 }
int Len() const
Definition: dt.h:487
TSBase(const TSStr &Nm)
Definition: fl.h:50
char * Bf
Definition: fl.h:386
int BfC
Definition: fl.h:387
TSIn()
Definition: fl.h:65
int BfL
Definition: fl.h:387
char * CStr()
Definition: dt.h:476
TMIn::TMIn ( const TChA ChA)

Definition at line 563 of file fl.cpp.

563  :
564  TSBase("Input-Memory"), TSIn("Input-Memory"), Bf(NULL), BfC(0), BfL(0){
565  BfL=ChA.Len(); Bf=new char[BfL]; strncpy(Bf, ChA.CStr(), BfL);
566 }
TSBase(const TSStr &Nm)
Definition: fl.h:50
int Len() const
Definition: dt.h:259
char * Bf
Definition: fl.h:386
char * CStr()
Definition: dt.h:255
int BfC
Definition: fl.h:387
TSIn()
Definition: fl.h:65
int BfL
Definition: fl.h:387
TMIn::~TMIn ( )
inline

Definition at line 402 of file fl.h.

402 {if (Bf!=NULL){delete[] Bf;}}
char * Bf
Definition: fl.h:386

Member Function Documentation

bool TMIn::Eof ( )
inlinevirtual

Implements TSIn.

Definition at line 404 of file fl.h.

404 {return BfC==BfL;}
int BfC
Definition: fl.h:387
int BfL
Definition: fl.h:387
int TMIn::GetBf ( const void *  LBf,
const TSize LBfL 
)
virtual

Implements TSIn.

Definition at line 594 of file fl.cpp.

594  {
595  EAssertR(TSize(BfC+LBfL)<=TSize(BfL), "Reading beyond the end of stream.");
596  int LBfS=0;
597  for (TSize LBfC=0; LBfC<LBfL; LBfC++){
598  LBfS+=(((char*)LBf)[LBfC]=Bf[BfC++]);}
599  return LBfS;
600 }
char * Bf
Definition: fl.h:386
int BfC
Definition: fl.h:387
size_t TSize
Definition: bd.h:58
int BfL
Definition: fl.h:387
#define EAssertR(Cond, MsgStr)
Definition: bd.h:283
char* TMIn::GetBfAddr ( )
inline

Definition at line 412 of file fl.h.

412 {return Bf;}
char * Bf
Definition: fl.h:386
char TMIn::GetCh ( )
virtual

Implements TSIn.

Definition at line 584 of file fl.cpp.

584  {
585  EAssertR(BfC<BfL, "Reading beyond the end of stream.");
586  return Bf[BfC++];
587 }
char * Bf
Definition: fl.h:386
int BfC
Definition: fl.h:387
int BfL
Definition: fl.h:387
#define EAssertR(Cond, MsgStr)
Definition: bd.h:283
bool TMIn::GetNextLnBf ( TChA LnChA)
virtual

Implements TSIn.

Definition at line 602 of file fl.cpp.

602  {
603  // not implemented
604  FailR(TStr::Fmt("TMIn::GetNextLnBf: not implemented").CStr());
605  return false;
606 }
#define FailR(Reason)
Definition: bd.h:240
static TStr Fmt(const char *FmtStr,...)
Definition: dt.cpp:1599
int TMIn::Len ( ) const
inlinevirtual

Implements TSIn.

Definition at line 405 of file fl.h.

405 {return BfL-BfC;}
int BfC
Definition: fl.h:387
int BfL
Definition: fl.h:387
PSIn TMIn::New ( const void *  _Bf,
const int &  _BfL,
const bool &  TakeBf = false 
)
static

Definition at line 568 of file fl.cpp.

568  {
569  return PSIn(new TMIn(_Bf, _BfL, TakeBf));
570 }
TPt< TSIn > PSIn
Definition: fl.h:119
PSIn TMIn::New ( const char *  CStr)
static

Definition at line 572 of file fl.cpp.

572  {
573  return PSIn(new TMIn(CStr));
574 }
TPt< TSIn > PSIn
Definition: fl.h:119
PSIn TMIn::New ( const TStr Str)
static

Definition at line 576 of file fl.cpp.

576  {
577  return PSIn(new TMIn(Str));
578 }
TPt< TSIn > PSIn
Definition: fl.h:119
PSIn TMIn::New ( const TChA ChA)
static

Definition at line 580 of file fl.cpp.

580  {
581  return PSIn(new TMIn(ChA));
582 }
TPt< TSIn > PSIn
Definition: fl.h:119
TMIn& TMIn::operator= ( const TMIn )
private
char TMIn::PeekCh ( )
virtual

Implements TSIn.

Definition at line 589 of file fl.cpp.

589  {
590  EAssertR(BfC<BfL, "Reading beyond the end of stream.");
591  return Bf[BfC];
592 }
char * Bf
Definition: fl.h:386
int BfC
Definition: fl.h:387
int BfL
Definition: fl.h:387
#define EAssertR(Cond, MsgStr)
Definition: bd.h:283
void TMIn::Reset ( )
inlinevirtual

Reimplemented from TSIn.

Definition at line 409 of file fl.h.

409 {Cs=TCs(); BfC=0;}
int BfC
Definition: fl.h:387
Definition: fl.h:11
TCs Cs
Definition: fl.h:44

Member Data Documentation

char* TMIn::Bf
private

Definition at line 386 of file fl.h.

int TMIn::BfC
private

Definition at line 387 of file fl.h.

int TMIn::BfL
private

Definition at line 387 of file fl.h.


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