Salome HOME
Porting to Mandrake 10.1 and new products:
[modules/kernel.git] / src / Batch / Batch_MapKey.hxx
1 /*
2  * MapKey.hxx : 
3  *
4  * Auteur : Ivan DUTKA-MALEN - EDF R&D
5  * Mail   : mailto:ivan.dutka-malen@der.edf.fr
6  * Date   : Tue Oct 14 14:00:29 2003
7  * Projet : Salome 2
8  *
9  */
10
11 #ifndef _MAPKEY_H_
12 #define _MAPKEY_H_
13
14
15 #include <string>
16
17 namespace Batch {
18
19   // une classe privee pour les differents types
20   // ces types ne peuvent pas etre redefinis
21   class MapKey : public std::string
22   {
23   private:
24     friend class Parametre; // seule la classe Parametre peut creer des MapKey
25     MapKey() : std::string() {}
26     MapKey(const MapKey & mk, size_type pos, size_type npos) : std::string(mk, pos, npos) {}
27     MapKey(const char * s, size_type n) : std::string(s, n) {}
28     MapKey(const char * s) : std::string(s) {}
29     MapKey(size_type n, char c) : std::string(n, c) {}
30 #ifdef __STL_MEMBER_TEMPLATES
31     template<class InputIterator>
32     MapKey(InputIterator __begin, InputIterator __end) : std::string(__begin, __end) {}
33 #else
34     MapKey(const_iterator __begin, const_iterator __end) : std::string(__begin, __end) {}
35 #endif
36
37   public:
38     MapKey(const MapKey & mk) : std::string(mk) {}
39
40   };
41
42 }
43
44 #endif
45
46 // COMMENTS