diff options
author | fcolin | 2007-02-01 12:54:14 +0000 |
---|---|---|
committer | fcolin | 2007-02-01 12:54:14 +0000 |
commit | 800da53d0ce8449aa4d4df32bc690c28e059e6bb (patch) | |
tree | 0cfd8088ff3037fd15a7ea943329c2992118b804 | |
parent | e99aef61dcfc2f56b6858470e428e8b316fa6c01 (diff) | |
download | ivy-cplusplus-800da53d0ce8449aa4d4df32bc690c28e059e6bb.zip ivy-cplusplus-800da53d0ce8449aa4d4df32bc690c28e059e6bb.tar.gz ivy-cplusplus-800da53d0ce8449aa4d4df32bc690c28e059e6bb.tar.bz2 ivy-cplusplus-800da53d0ce8449aa4d4df32bc690c28e059e6bb.tar.xz |
Utilisateur : Fcolin Date : 31/01/01 Heure : 11:18 Archivé dans $/Ivy (vss 2)
-rw-r--r-- | Bus/Ivy/DataTypes.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/Bus/Ivy/DataTypes.h b/Bus/Ivy/DataTypes.h index e69de29..53bef2b 100644 --- a/Bus/Ivy/DataTypes.h +++ b/Bus/Ivy/DataTypes.h @@ -0,0 +1,81 @@ +#pragma once
+
+#ifdef WIN32
+#ifdef IVY_EXPORTS
+class _declspec(dllexport) string;
+#else
+#pragma comment(lib,"Ivy.LIB" )
+class _declspec(dllimport) string;
+#endif
+#endif
+
+class string {
+public:
+ string();
+ string( const char * s);
+ int length();
+ bool empty();
+ void erase(int start=0, int len = -1);
+ void append( const char *s , int len );
+ void insert(int index, const char * s);
+ string substr( int start, int len = -1 );
+ int find_first_of( const char* s );
+ int rfind( char c );
+ operator +=(string s);
+ string operator +(string s);
+ // Nondestructive typecast operator
+ operator const char*() const;
+ const char *c_str() const; // remove this ugly thing
+};
+
+template <class T> class Iterator {
+public:
+ T & operator !=(Iterator i);
+ T & operator ++();
+ operator const T*() const;
+ T & second;
+
+};
+
+
+template <class T> class list {
+public:
+ void clear();
+ bool empty();
+ T front();
+ pop_front();
+ void push_back( T data );
+ typedef Iterator<T> iterator;
+ iterator begin();
+ iterator end();
+ void remove( T data );
+};
+
+template <class T> class vector {
+public:
+ void clear();
+ int size();
+ // Nondestructive typecast operator
+ operator const T*() const;
+ // Accesses indexed component of vector
+ T & operator [](int i);
+ // Accesses indexed component of vector
+ const T & operator [](int i) const;
+ void push_back( T data );
+ void remove( T data );
+
+};
+
+template <class I, class T> class map {
+public:
+ void clear();
+ int size();
+ bool empty();
+ find(I i );
+ typedef Iterator<T> iterator;
+ iterator begin();
+ iterator end();
+ void erase( I i );
+ // Accesses indexed component of vector
+ const T & operator [](I i) const;
+};
\ No newline at end of file |