12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /*
- * NICE-Core - efficient algebra and computer vision methods
- * - libfbasics - library of some basic tools
- * See file License for license information.
- */
- #ifndef _VECTORIO_H_
- #define _VECTORIO_H_
- #include <iostream>
- #include <vector>
- namespace NICE {
- /**
- * Output function.
- */
- template<class T>
- std::ostream& operator << ( std::ostream& output, const std::vector<T>& v );
- /**
- * Output function.
- */
- template<class T>
- void writeVectorHumanReadable ( std::ostream& output, const std::vector<T>& v );
- /**
- * Output function.
- */
- template<class T>
- void writeVectorOfPointers ( std::ostream& output, const std::vector<T*>& v );
- /**
- * Output function.
- */
- template<class T>
- void writeVectorOfPointersHumanReadable ( std::ostream& output,
- const std::vector<T*>& v );
- /**
- * Input function.
- * Format has to be as produced by
- * \c operator << (std::ostream& output, const std::vector<T>& v),
- * \c writeVectorHumanReadable(), \c writeVectorOfPointers()
- * or \c writeVectorOfPointersHumanReadable().
- * Note that no data element must begin with '>'.
- */
- template<class T>
- std::istream& operator >> ( std::istream& input, std::vector<T>& v );
- /**
- * Input function. A new heap object will be created for each vector element
- * (Ownership given away.)
- * Format has to be as produced by
- * \c operator << (std::ostream& output, const std::vector<T>& v),
- * \c writeVectorHumanReadable(), \c writeVectorOfPointers()
- * or \c writeVectorOfPointersHumanReadable().
- */
- template<class T>
- void readVectorOfPointers ( std::istream& input, std::vector<T*>& v );
- } // namespace
- //#ifdef __GNUC__
- #include "core/basics/vectorio.tcc"
- //#endif
- #endif //_VECTORIO_H_
|