From dc8fec9b2b2d00be9751afde91a14d2a841039f4 Mon Sep 17 00:00:00 2001 From: fcolin Date: Thu, 1 Feb 2007 12:54:14 +0000 Subject: Utilisateur : Fcolin Date : 31/01/01 Heure : 11:18 Archivé dans $/Ivy (vss 2) --- Ivy/DataTypes.h | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) (limited to 'Ivy') diff --git a/Ivy/DataTypes.h b/Ivy/DataTypes.h index e69de29..53bef2b 100644 --- a/Ivy/DataTypes.h +++ b/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 Iterator { +public: + T & operator !=(Iterator i); + T & operator ++(); + operator const T*() const; + T & second; + +}; + + +template class list { +public: + void clear(); + bool empty(); + T front(); + pop_front(); + void push_back( T data ); + typedef Iterator iterator; + iterator begin(); + iterator end(); + void remove( T data ); +}; + +template 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 map { +public: + void clear(); + int size(); + bool empty(); + find(I i ); + typedef Iterator 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 -- cgit v1.1