#ifndef HGL_SAVE_STRING_LIST_INCLUDE #define HGL_SAVE_STRING_LIST_INCLUDE #include namespace hgl { template struct WriteStringToDOS { bool WriteString(io::DataOutputStream *dos,const T &str); }; template struct WriteStringToDOS { bool WriteString(io::DataOutputStream *dos,const T &str) { return dos->WriteU8String(str); } }; template struct WriteStringToDOS { bool WriteString(io::DataOutputStream *dos,const T &str) { return dos->WriteUTF16LEString(str); } }; template struct WriteStringToDOS { bool WriteString(io::DataOutputStream *dos,const T &str) { return dos->WriteUTF16BEString(str); } }; template int WriteStringList(io::DataOutputStream *dos,const StringList &sl) { WriteStringToDOS wtd; const int32 count=sl.GetCount(); int result=0; if(!dos->WriteInt32(count)) return(-2); for(int32 i=0;i int SaveU8StringList(io::DataOutputStream *dos,const StringList &sl) { return WriteStringList(dos,sl); } template int SaveUTF16LEStringList(io::DataOutputStream *dos,const StringList &sl) { return WriteStringList(dos,sl); } template int SaveUTF16BEStringList(io::DataOutputStream *dos,const StringList &sl) { return WriteStringList(dos,sl); } }//namespace hgl #endif//HGL_SAVE_STRING_LIST_INCLUDE