PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > comp.lang.cplus > Timer Q
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Timer Q

Réponse
 
LinkBack Outils de la discussion
Vieux 09/12/2007, 22h52   #1
sip.address@gmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Timer Q

Hello,

I'm trying to find some existing (and simple if possible) timer queue
implementation. Does anybody know a simple skeleton to use as example?
I just need to send simple (relative) timeouts. Thought about some
possibilities but would prefer to use something already tested.

Thanksç
  Réponse avec citation
Vieux 09/12/2007, 23h03   #2
Victor Bazarov
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Timer Q

sip.address@gmail.com wrote:
> I'm trying to find some existing (and simple if possible) timer queue
> implementation. Does anybody know a simple skeleton to use as example?
> I just need to send simple (relative) timeouts. Thought about some
> possibilities but would prefer to use something already tested.


C++ language does not define "timers". There are no standard C++ means
to achieve what you need, I'm afraid. Did you perhaps mean to post to
the newsgroup dedicated to your OS?

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


  Réponse avec citation
Vieux 09/12/2007, 23h30   #3
sip.address@gmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Timer Q

On Dec 10, 12:03 am, "Victor Bazarov" <v.Abaza...@comAcast.net> wrote:
> sip.addr...@gmail.com wrote:
> > I'm trying to find some existing (and simple if possible) timer queue
> > implementation. Does anybody know a simple skeleton to use as example?
> > I just need to send simple (relative) timeouts. Thought about some
> > possibilities but would prefer to use something already tested.

>
> C++ language does not define "timers". There are no standard C++ means
> to achieve what you need, I'm afraid. Did you perhaps mean to post to
> the newsgroup dedicated to your OS?


Hi,

Thanks for your reply. I know I'm asking something that is not
completely standard, but I was looking for a portable implementation
of a timer queue. Ideally implemented using the stdlib. Of course,
there will be some os dependent parts but the algorithm itself should
be rather portable.

regards
  Réponse avec citation
Vieux 10/12/2007, 14h33   #4
Victor Bazarov
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Timer Q

sip.address@gmail.com wrote:
> On Dec 10, 12:03 am, "Victor Bazarov" <v.Abaza...@comAcast.net> wrote:
>> sip.addr...@gmail.com wrote:
>>> I'm trying to find some existing (and simple if possible) timer
>>> queue implementation. Does anybody know a simple skeleton to use as
>>> example? I just need to send simple (relative) timeouts. Thought
>>> about some possibilities but would prefer to use something already
>>> tested.

>>
>> C++ language does not define "timers". There are no standard C++
>> means to achieve what you need, I'm afraid. Did you perhaps mean to
>> post to the newsgroup dedicated to your OS?

>
> Hi,
>
> Thanks for your reply. I know I'm asking something that is not
> completely standard, but I was looking for a portable implementation
> of a timer queue. Ideally implemented using the stdlib. Of course,
> there will be some os dependent parts but the algorithm itself should
> be rather portable.


If you're looking for the algorithm, this is not the right place either.

If the algorithm is the same whether it's written in C++ or, say, in
Java or Python, then .lang. newsgroups are not appropriate. Try asking
in 'comp.programming'. If you _have_ the algorithm but don't know how
to implement it in C++, then it *is* a language problem and you need to
start explaining what difficulty you have. You also have to explicitly
state that you have looked in other available sources, like Google, and
couldn't find anything.

This is not "give me your implementation of <blah> in C++" newsgroup.
This is "I have this specific problem with C++ language construct" or
"Is this code looks OK from the Standard point of view" or "What is
partial template specialisation" newsgroup. Read the FAQ, read the
newsgroup archives, if this explanation is not enough.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


  Réponse avec citation
Vieux 10/12/2007, 20h18   #5
red floyd
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Timer Q

Victor Bazarov wrote:
> sip.address@gmail.com wrote:
>> On Dec 10, 12:03 am, "Victor Bazarov" <v.Abaza...@comAcast.net> wrote:
>>> sip.addr...@gmail.com wrote:
>>>> I'm trying to find some existing (and simple if possible) timer
>>>> queue implementation. Does anybody know a simple skeleton to use as
>>>> example? I just need to send simple (relative) timeouts. Thought
>>>> about some possibilities but would prefer to use something already
>>>> tested.
>>> C++ language does not define "timers". There are no standard C++
>>> means to achieve what you need, I'm afraid. Did you perhaps mean to
>>> post to the newsgroup dedicated to your OS?

>> Hi,
>>
>> Thanks for your reply. I know I'm asking something that is not
>> completely standard, but I was looking for a portable implementation
>> of a timer queue. Ideally implemented using the stdlib. Of course,
>> there will be some os dependent parts but the algorithm itself should
>> be rather portable.

>
> If you're looking for the algorithm, this is not the right place either.
>
> If the algorithm is the same whether it's written in C++ or, say, in
> Java or Python, then .lang. newsgroups are not appropriate. Try asking
> in 'comp.programming'. If you _have_ the algorithm but don't know how
> to implement it in C++, then it *is* a language problem and you need to
> start explaining what difficulty you have. You also have to explicitly
> state that you have looked in other available sources, like Google, and
> couldn't find anything.
>
> This is not "give me your implementation of <blah> in C++" newsgroup.
> This is "I have this specific problem with C++ language construct" or
> "Is this code looks OK from the Standard point of view" or "What is
> partial template specialisation" newsgroup. Read the FAQ, read the
> newsgroup archives, if this explanation is not enough.


I'm as much of an on-topic freak as the next guy, Victor, but I think in
this case, we're OK. He's admitted that the timer stuff is OS specific,
but looking for a C++ mechanism for maintaining the queue of OS specific
stuff.

Anyways, sip_address, I'd define a class of timer objects, and then use
a std::priority_queue() to maintain them. Note that if you need to
delete an element mid-queue (kill a timer before it's time), then you
should derive from std::priority_queue -- PRIVATELY -- to gain access to
the underlying (protected) container.
  Réponse avec citation
Vieux 11/12/2007, 08h24   #6
Stefan Naewe
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Timer Q

On 12/10/2007 9:18 PM, red floyd wrote:
> [...]
> Anyways, sip_address, I'd define a class of timer objects, and then use
> a std::priority_queue() to maintain them. Note that if you need to
> delete an element mid-queue (kill a timer before it's time), then you
> should derive from std::priority_queue -- PRIVATELY -- to gain access to
> the underlying (protected) container.


Isn't std::priority_queue just a wrapper around a std::vector and
the heap functions (make_heap, push_heap, pop_heap) ?
Doesn't deleting an element 'mid-queue' invalidate the heap ?

Any comments ?

S.
--
Stefan Naewe stefan dot naewe at atlas-elektronik dot com
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html
  Réponse avec citation
Vieux 11/12/2007, 19h02   #7
red floyd
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Timer Q

Stefan Naewe wrote:
> On 12/10/2007 9:18 PM, red floyd wrote:
>> [...]
>> Anyways, sip_address, I'd define a class of timer objects, and then use
>> a std::priority_queue() to maintain them. Note that if you need to
>> delete an element mid-queue (kill a timer before it's time), then you
>> should derive from std::priority_queue -- PRIVATELY -- to gain access to
>> the underlying (protected) container.

>
> Isn't std::priority_queue just a wrapper around a std::vector and
> the heap functions (make_heap, push_heap, pop_heap) ?
> Doesn't deleting an element 'mid-queue' invalidate the heap ?
>


That's why you derive, so that if you delete from the middle, you can
call make_heap on the embedded container. Note that the container is a
protected member of the priority_queue.


E.g. (pseudocode follows):

class timer_queue : private std::priority_queue()
{
public:

using std::priority_queue::{methods};
void delete_timer(timer_id);
};

void timer_queue::delete_timer(timer_id id)
{
// find id in container
// remove from container
// call make_heap on container
}
  Réponse avec citation
Vieux 11/12/2007, 19h15   #8
AnonMail2005@gmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Timer Q

On Dec 10, 3:18 pm, red floyd <no.s...@here.dude> wrote:
> Victor Bazarov wrote:
> > sip.addr...@gmail.com wrote:
> >> On Dec 10, 12:03 am, "Victor Bazarov" <v.Abaza...@comAcast.net> wrote:
> >>> sip.addr...@gmail.com wrote:
> >>>> I'm trying to find some existing (and simple if possible) timer
> >>>> queue implementation. Does anybody know a simple skeleton to use as
> >>>> example? I just need to send simple (relative) timeouts. Thought
> >>>> about some possibilities but would prefer to use something already
> >>>> tested.
> >>> C++ language does not define "timers". There are no standard C++
> >>> means to achieve what you need, I'm afraid. Did you perhaps mean to
> >>> post to the newsgroup dedicated to your OS?
> >> Hi,

>
> >> Thanks for your reply. I know I'm asking something that is not
> >> completely standard, but I was looking for a portable implementation
> >> of a timer queue. Ideally implemented using the stdlib. Of course,
> >> there will be some os dependent parts but the algorithm itself should
> >> be rather portable.

>
> > If you're looking for the algorithm, this is not the right place either.

>
> > If the algorithm is the same whether it's written in C++ or, say, in
> > Java or Python, then .lang. newsgroups are not appropriate. Try asking
> > in 'comp.programming'. If you _have_ the algorithm but don't know how
> > to implement it in C++, then it *is* a language problem and you need to
> > start explaining what difficulty you have. You also have to explicitly
> > state that you have looked in other available sources, like Google, and
> > couldn't find anything.

>
> > This is not "give me your implementation of <blah> in C++" newsgroup.
> > This is "I have this specific problem with C++ language construct" or
> > "Is this code looks OK from the Standard point of view" or "What is
> > partial template specialisation" newsgroup. Read the FAQ, read the
> > newsgroup archives, if this explanation is not enough.

>
> I'm as much of an on-topic freak as the next guy, Victor, but I think in
> this case, we're OK. He's admitted that the timer stuff is OS specific,
> but looking for a C++ mechanism for maintaining the queue of OS specific
> stuff.
>
> Anyways, sip_address, I'd define a class of timer objects, and then use
> a std::priority_queue() to maintain them. Note that if you need to
> delete an element mid-queue (kill a timer before it's time), then you
> should derive from std::priority_queue -- PRIVATELY -- to gain access to
> the underlying (protected) container.- Hide quoted text -
>
> - Show quoted text -


For the underlying implementation of the timer object check out asio.
It's a C++ cross-platform socket wrapper that includes timers. I'm
not sure if it's made it's way into boost yet.
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 07h53.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,15382 seconds with 16 queries