 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Vincent Cantin Guest
|
Posted: Wed Feb 22, 2006 11:06 am Post subject: Template et enum : gros probleme ! :-( |
|
|
Bonjour,
J'ai des variables, leur type est T ou T est un bool ou un int ou un float
ou un std::string ou une enumeration de symbols, ou un std::vector<T>.
Je voudrais pouvoir faire un traitement sur leur contenu qui depend de leur
type primaire (c'est a dire bool ou int ou float ou std::string ou enum de
quelque chose).
J'ai trouve cette maniere de faire :
template <class T> static void CopyFrom(std::vector<T>& variable,
PropertyInstance* pInstance);
static void CopyFrom(bool& variable, PropertyInstance* pInstance);
static void CopyFrom(int& variable, PropertyInstance* pInstance);
static void CopyFrom(float& variable, PropertyInstance* pInstance);
static void CopyFrom(std::string& variable, PropertyInstance* pInstance);
la recursivite du template sur le type T a l'air de bien marcher, mais le
probleme c'est que je ne vois pas comment faire pour les variables dont le
type primaire est une enumeration (i.e. DayOfWeek, std::vector<DayOfWeek>,
std::vector<std::vector<DayOfWeek> >, ...)
Quelqu'un a une solution ? |
|
| Back to top |
|
 |
Vincent Cantin Guest
|
Posted: Wed Feb 22, 2006 1:06 pm Post subject: Re: Template et enum : gros probleme ! :-( |
|
|
| Quote: | Quelqu'un a une solution ?
Je n'ai rien compris à la question ?
|
J'ai laisse tombe, j'utilise des unsigned int a la place de mes enum.
C++, c'est vraiment pas pour moi. |
|
| Back to top |
|
 |
Franck Branjonneau Guest
|
Posted: Wed Feb 22, 2006 1:06 pm Post subject: Re: Template et enum : gros probleme ! :-( |
|
|
"Vincent Cantin" <pere.noel (AT) lutin (DOT) fr> écrivait:
| Quote: | J'ai des variables, leur type est T ou T est un bool ou un int ou un float
ou un std::string ou une enumeration de symbols, ou un std::vector<T>.
|
Qu'est T quand T est un std::vector< T > ?
Attention à std::vector< bool >...
| Quote: | Je voudrais pouvoir faire un traitement sur leur contenu qui depend de leur
type primaire (c'est a dire bool ou int ou float ou std::string ou enum de
quelque chose).
J'ai trouve cette maniere de faire :
template <class T> static void CopyFrom(std::vector<T>& variable,
PropertyInstance* pInstance);
static void CopyFrom(bool& variable, PropertyInstance* pInstance);
static void CopyFrom(int& variable, PropertyInstance* pInstance);
static void CopyFrom(float& variable, PropertyInstance* pInstance);
static void CopyFrom(std::string& variable, PropertyInstance* pInstance);
la recursivite du template sur le type T a l'air de bien marcher,
|
Quelle récursivité ?
| Quote: | mais le probleme c'est que je ne vois pas comment faire pour les
variables dont le type primaire est une enumeration (i.e. DayOfWeek,
std::vector<DayOfWeek>, std::vector<std::vector<DayOfWeek> >, ...)
|
Ah, elle est ici la récursivité ? En ce cas il te faut une fonction
CopyFrom récursive :
// 1
template <class T>
static void
CopyFrom(
std::vector< T >& variable,
PropertyInstance* pInstance);
// 2
template <class T>
static void
CopyFrom(
std::vector< std::vector < T > > & variable,
PropertyInstance* pInstance);
En 1 T est « primaire », en 2 il est quelconque.
int
main() {
std::vector< int > v;
std::vector< std::vector< int > > vv;
CopyFrom(v, 0); // Call 1
CopyFrom(vv, 0); // Call 2
}
| Quote: | Quelqu'un a une solution ?
|
Je n'ai rien compris à la question ?
--
Franck Branjonneau |
|
| Back to top |
|
 |
Stephane Wirtel Guest
|
Posted: Thu Feb 23, 2006 10:06 am Post subject: Re: Template et enum : gros probleme ! :-( |
|
|
Vincent Cantin said the following on 22/02/2006 14:03:
| Quote: | Quelqu'un a une solution ?
Je n'ai rien compris à la question ?
J'ai laisse tombe, j'utilise des unsigned int a la place de mes enum.
C++, c'est vraiment pas pour moi.
|
Ce n'est pas en disant cela que cela arrangera les problèmes.
Déjà, tu utilises une déclaration de template pour ta fonction CopyForm, mais
ensuite,
tu ne fais que des surcharges de fonctions.
Il ne s'agit pas de spécialisation de template :(
Qu'as-tu réellement envie de faire ? Explique ton idée, peut-être que l'on
pourra te guider dans ta réflexion. |
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Thu Feb 23, 2006 5:06 pm Post subject: Re: Template et enum : gros probleme ! :-( |
|
|
On Thu, 23 Feb 2006 10:49:53 +0100, Stephane Wirtel
<com.descasoft (AT) wirtel (DOT) stephane>:
| Quote: | C++, c'est vraiment pas pour moi.
Ce n'est pas en disant cela que cela arrangera les problèmes.
|
Changer de langage et en prendre un plus adapté, ce n'est pas
forcément la pire des solutions. |
|
| Back to top |
|
 |
Vincent Cantin Guest
|
Posted: Fri Mar 17, 2006 10:06 am Post subject: Re: Template et enum : gros probleme ! :-( |
|
|
| Quote: | Changer de langage et en prendre un plus adapté, ce n'est pas
forcément la pire des solutions.
|
Je quitte ma boite dans 2 semaines, et je vais faire du java  |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|