Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'moses/src/FilePtr.h')
-rw-r--r--moses/src/FilePtr.h48
1 files changed, 0 insertions, 48 deletions
diff --git a/moses/src/FilePtr.h b/moses/src/FilePtr.h
deleted file mode 100644
index 36a5aa991..000000000
--- a/moses/src/FilePtr.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// $Id$
-
-/* ---------------------------------------------------------------- */
-/* Copyright 2005 (c) by RWTH Aachen - Lehrstuhl fuer Informatik VI */
-/* Richard Zens */
-/* ---------------------------------------------------------------- */
-
-#ifndef FILEPTR_H_
-#define FILEPTR_H_
-#include "File.h"
-
-// smart pointer for on-demand loading from file
-// requirement: T has a constructor T(FILE*)
-
-template<typename T> class FilePtr {
-public:
- typedef T* Ptr;
-private:
- FILE* f;
- off_t pos;
- mutable Ptr t;
-public:
- FilePtr(FILE* f_=0,off_t p=0) : f(f_),pos(p),t(0) {}
- ~FilePtr() {}
-
- void set(FILE* f_,off_t p) {f=f_;pos=p;}
- void free() {delete t; t=0;}
-
- T& operator* () {load();return *t;}
- Ptr operator->() {load();return t;}
- operator Ptr () {load();return t;}
-
- const T& operator* () const {load();return *t;}
- const Ptr operator->() const {load();return t;}
- operator const Ptr () const {load();return t;}
-
- // direct access to pointer, use with care!
- Ptr getPtr() {return t;}
- const Ptr getPtr() const {return t;}
-
- operator bool() const {return (f && pos!=InvalidOffT);}
-
- void load() const {
- if(t) return;
- if(f && pos!=InvalidOffT) {fSeek(f,pos); t=new T(f);}
- }
-};
-#endif