Merge of itasc branch. Project files, scons and cmake should be working. Makefile...
[blender.git] / intern / itasc / kdl / utilities / utility_io.h
1 /***************************************************************************** 
2  *  \author 
3  *      Erwin Aertbelien, Div. PMA, Dep. of Mech. Eng., K.U.Leuven
4  *
5  *  \version 
6  *              ORO_Geometry V0.2
7  *
8  *      \par History
9  *              - $log$
10  *
11  *      \par Release
12  *              $Id: utility_io.h 19905 2009-04-23 13:29:54Z ben2610 $
13  *              $Name:  $ 
14  *
15  *  \file   utility_io.h
16  *     Included by most lrl-files to provide some general
17  *     functions and macro definitions related to file/stream I/O.
18  */
19
20 #ifndef KDL_UTILITY_IO_H_84822
21 #define KDL_UTILITY_IO_H_84822
22
23 //#include <kdl/kdl-config.h>
24
25
26 // Standard includes
27 #include <iostream>
28 #include <iomanip>
29 #include <fstream>
30
31
32 namespace KDL {
33
34
35 /**
36  * checks validity of basic io of is
37  */
38 void _check_istream(std::istream& is);
39
40
41 /** 
42  * Eats characters of the stream until the character delim is encountered
43  * @param is a stream
44  * @param delim eat until this character is encountered
45  */
46 void Eat(std::istream& is, int delim );
47
48 /** 
49  * Eats characters of the stream as long as they satisfy the description in descript
50  * @param is a stream
51  * @param descript description string. A sequence of spaces, tabs, 
52  *           new-lines and comments is regarded as 1 space in the description string.
53  */
54 void Eat(std::istream& is,const char* descript);
55
56 /**
57  * Eats a word of the stream delimited by the letters in delim or space(tabs...)
58  * @param is a stream
59  * @param delim a string containing the delimmiting characters
60  * @param storage for returning the word
61  * @param maxsize a word can be maximally maxsize-1 long.
62  */
63 void EatWord(std::istream& is,const char* delim,char* storage,int maxsize);
64
65 /** 
66  * Eats characters of the stream until the character delim is encountered
67  * similar to Eat(is,delim) but spaces at the end are not read.
68  * @param is a stream
69  * @param delim eat until this character is encountered
70  */
71 void EatEnd( std::istream& is, int delim );
72
73
74
75
76 }
77
78
79 #endif