diff options
Diffstat (limited to 'meowpp/oo/ObjPort.hpp')
-rw-r--r-- | meowpp/oo/ObjPort.hpp | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/meowpp/oo/ObjPort.hpp b/meowpp/oo/ObjPort.hpp deleted file mode 100644 index d458adf..0000000 --- a/meowpp/oo/ObjPort.hpp +++ /dev/null @@ -1,47 +0,0 @@ -#include "ObjPort.h" - -#include "ObjSelector.h" -#include "ObjBase.h" - -#include <cstdio> - -namespace meow{ - template<size_t sid> - inline ObjPort::ObjBase* read(FILE* __f, bool __binary){ - char name[1024]; - unsigned int fg; - if(__binary){ - size_t len; - if(fread(&len, sizeof(size_t), 1, __f) < 1) return NULL; - if(fread(name, sizeof(char), len, __f) < len) return NULL; - if(fread(&fg, sizeof(unsigned int), 1, __f) < 1) return NULL; - name[len] = '\0'; - }else{ - fscanf(__f, "%s %u", name, &fg); - } - ObjBase* ret = Selector<sid>(name); - if(ret->read(__f, __binary, fg) == false){ - delete ret; - ret = NULL; - } - return ret; - } - - - template<size_t sid> - inline ObjPort::bool write(FILE* __f, bool __binary, - ObjBase* __obj, unsigned int __fg){ - std::string name = Selector<sid>::find(__obj); - if(__binary){ - size_t len = name.size(); - if(fwrite(&len, sizeof(size_t), 1, __f) < 1) return false; - if(fwrite(name.c_str(), sizeof(char), len, __f) < len) return false; - if(fwrite(&__fg, sizeof(unsigned int), 1, __f) < len) return false; - }else{ - if(fprintf(__f, "%s %u\n", name.c_str(), __fg) < 2) return false; - } - return __obj->write(__f, __binary, __fg); - } -} - -#endif // oo_ObjPort_H__ |