mirror of
https://github.com/paboyle/Grid.git
synced 2025-06-10 19:36:56 +01:00
Changes to remove warnings under icc; disambiguate AVX512 from IMCI correctly
and drop swizzles in AVX512. Don't know why these compiled.
This commit is contained in:
@ -10,15 +10,15 @@ public:
|
||||
virtual void push(const std::string &s) = 0;
|
||||
virtual void pop(void) =0;
|
||||
virtual void write( const std::string& s,const std::string &output ) =0;
|
||||
virtual void write( const std::string& s, int16_t output ) =0;
|
||||
virtual void write( const std::string& s, uint16_t output ) =0;
|
||||
virtual void write( const std::string& s, int32_t output ) =0;
|
||||
virtual void write( const std::string& s, uint32_t output ) =0;
|
||||
virtual void write( const std::string& s, int64_t output ) =0;
|
||||
virtual void write( const std::string& s, uint64_t output ) =0;
|
||||
virtual void write( const std::string& s, float output ) =0;
|
||||
virtual void write( const std::string& s, double output ) =0;
|
||||
virtual void write( const std::string& s, bool output ) =0;
|
||||
virtual void write( const std::string& s,const int16_t output ) =0;
|
||||
virtual void write( const std::string& s,const uint16_t output ) =0;
|
||||
virtual void write( const std::string& s,const int32_t output ) =0;
|
||||
virtual void write( const std::string& s,const uint32_t output ) =0;
|
||||
virtual void write( const std::string& s,const int64_t output ) =0;
|
||||
virtual void write( const std::string& s,const uint64_t output ) =0;
|
||||
virtual void write( const std::string& s,const float output ) =0;
|
||||
virtual void write( const std::string& s,const double output ) =0;
|
||||
virtual void write( const std::string& s,const bool output ) =0;
|
||||
|
||||
};
|
||||
|
||||
|
@ -35,19 +35,19 @@ public:
|
||||
write(s,cstr[c]);
|
||||
}
|
||||
};
|
||||
void write( const std::string& s, char output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, int16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, uint16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, int32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, uint32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, int64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, uint64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, float output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, double output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, bool output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const char output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const int16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const uint16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const int32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const uint32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const int64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const uint64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const float output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const double output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const bool output ) { writeInternal(s,output); };
|
||||
|
||||
private:
|
||||
template<class T> void writeInternal( const std::string& s, T output ){
|
||||
template<class T> void writeInternal( const std::string& s,const T output ){
|
||||
// FIXME --- htons, htonl, htno64 etc..
|
||||
file.write((char *)&output,sizeof(T));
|
||||
}
|
||||
|
@ -120,14 +120,14 @@ THE SOFTWARE.
|
||||
GRID_MACRO_EVAL(GRID_MACRO_MAP(GRID_MACRO_MEMBER,__VA_ARGS__)) \
|
||||
\
|
||||
\
|
||||
template<class Writer> friend void write(Writer &WR,const std::string &s, const cname &obj){ \
|
||||
friend void write(Writer &WR,const std::string &s, const cname &obj){ \
|
||||
push(WR,s);\
|
||||
GRID_MACRO_EVAL(GRID_MACRO_MAP(GRID_MACRO_WRITE_MEMBER,__VA_ARGS__)) \
|
||||
pop(WR);\
|
||||
} \
|
||||
\
|
||||
\
|
||||
template<class Reader> friend void read(Reader &RD,const std::string &s, cname &obj){ \
|
||||
friend void read(Reader &RD,const std::string &s, cname &obj){ \
|
||||
push(RD,s);\
|
||||
GRID_MACRO_EVAL(GRID_MACRO_MAP(GRID_MACRO_READ_MEMBER,__VA_ARGS__)) \
|
||||
pop(RD);\
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include <serialisation/MacroMagic.h>
|
||||
#include <serialisation/BaseIO.h>
|
||||
#include <stdint.h>
|
||||
|
||||
namespace Grid {
|
||||
|
||||
@ -12,17 +13,17 @@ namespace Grid {
|
||||
inline void push(Writer & WR,const char *s) { WR.push(std::string(s));}
|
||||
inline void pop (Writer & WR) { WR.pop();}
|
||||
|
||||
inline void write(Writer& wr, const std::string& s,const char * output ) { wr.write(s,std::string(output)); };
|
||||
// inline void write(Writer& wr, const std::string& s,const char * output ) { wr.write(s,std::string(output)); };
|
||||
inline void write(Writer& wr, const std::string& s,const std::string &output) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s, int16_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s, uint16_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s, int32_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s, uint32_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s, int64_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s, uint64_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s, float output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s, double output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s, bool output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s,const int16_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s,const uint16_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s,const int32_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s,const uint32_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s,const int64_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s,const uint64_t output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s,const float output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s,const double output ) { wr.write(s,output); };
|
||||
inline void write(Writer& wr, const std::string& s,const bool output ) { wr.write(s,output); };
|
||||
|
||||
inline void push(Reader & WR,const std::string &s) { WR.push(s);}
|
||||
inline void push(Reader & WR,const char *s) { WR.push(std::string(s));}
|
||||
|
@ -43,19 +43,19 @@ public:
|
||||
indent();
|
||||
file<<output<<std::endl;
|
||||
};
|
||||
void write( const std::string& s, int16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, uint16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, int32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, uint32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, int64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, uint64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, float output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, double output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, bool output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const int16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const uint16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const int32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const uint32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const int64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const uint64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const float output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const double output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const bool output ) { writeInternal(s,output); };
|
||||
|
||||
private:
|
||||
|
||||
template<class T> void writeInternal( const std::string& s, T output ){
|
||||
template<class T> void writeInternal( const std::string& s,const T output ){
|
||||
indent();
|
||||
file << std::boolalpha << output<<std::endl;
|
||||
}
|
||||
|
@ -49,19 +49,20 @@ public:
|
||||
pugi::xml_node leaf=node.append_child(s.c_str());
|
||||
leaf.append_child(pugi::node_pcdata).set_value(output.c_str());
|
||||
};
|
||||
void write( const std::string& s, int16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, uint16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, int32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, uint32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, int64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, uint64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, float output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, double output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s, bool output ) { writeInternal(s,output); };
|
||||
|
||||
void write( const std::string& s,const int16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const uint16_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const int32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const uint32_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const int64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const uint64_t output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const float output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const double output ) { writeInternal(s,output); };
|
||||
void write( const std::string& s,const bool output ) { writeInternal(s,output); };
|
||||
|
||||
private:
|
||||
|
||||
template<class T> void writeInternal( const std::string& s, T output ){
|
||||
template<class T> void writeInternal( const std::string& s,const T output ){
|
||||
std::ostringstream os;
|
||||
os << std::boolalpha << output;
|
||||
write(s,os.str());
|
||||
|
Reference in New Issue
Block a user