43 #ifndef LINALGPACK_IO_NAME_LOOKUPS_H
44 #define LINALGPACK_IO_NAME_LOOKUPS_H
57 #define OPEATOR_FUNCTION(OPERATOR,STREAM_TYPE,FORMAT_TYPE,OBJECT_TYPE) \
58 inline STREAM_TYPE & OPERATOR ( STREAM_TYPE & s \
59 , DenseLinAlgPack::LinAlgPackIO:: ## FORMAT_TYPE ## <DenseLinAlgPack:: ## OBJECT_TYPE ## >& bf) \
61 return DenseLinAlgPack:: ## OPERATOR ## (s,bf); \
64 #define INPUT_OPEATOR_FUNCTION(FORMAT_TYPE,OBJECT_TYPE) \
65 OPEATOR_FUNCTION( operator>> , std::istream , FORMAT_TYPE , OBJECT_TYPE ) \
67 #define OUTPUT_OPEATOR_FUNCTION(FORMAT_TYPE,OBJECT_TYPE) \
68 OPEATOR_FUNCTION( operator<< , std::ostream , FORMAT_TYPE , OBJECT_TYPE ) \
71 INPUT_OPEATOR_FUNCTION( bound_format , DVector )
72 OUTPUT_OPEATOR_FUNCTION( bound_format , DVector )
73 OUTPUT_OPEATOR_FUNCTION( const_bound_format , DVector )
75 INPUT_OPEATOR_FUNCTION( bound_format , DVectorSlice )
76 OUTPUT_OPEATOR_FUNCTION( bound_format , DVectorSlice )
77 OUTPUT_OPEATOR_FUNCTION( const_bound_format , DVectorSlice )
79 INPUT_OPEATOR_FUNCTION( bound_format , DMatrix )
80 OUTPUT_OPEATOR_FUNCTION( bound_format , DMatrix )
81 OUTPUT_OPEATOR_FUNCTION( const_bound_format , DMatrix )
83 INPUT_OPEATOR_FUNCTION( bound_format , DMatrixSlice )
84 OUTPUT_OPEATOR_FUNCTION( bound_format , DMatrixSlice )
85 OUTPUT_OPEATOR_FUNCTION( const_bound_format , DMatrixSlice )
87 #undef OPEATOR_FUNCTION
88 #undef INPUT_OPEATOR_FUNCTION
89 #undef OUTPUT_OPEATOR_FUNCTION
95 #endif // LINALGPACK_IO_NAME_LOOKUPS_H