|
rlmm::one_at_a_time< Client, Lock > Struct Template Reference
[Utilities]
#include <rlmm/util.hh>
Inheritance diagram for rlmm::one_at_a_time< Client, Lock >:
[legend]Collaboration diagram for rlmm::one_at_a_time< Client, Lock >:
[legend]List of all members.
Detailed Description
template<template< typename > class Client, typename Lock = single_thread>
struct rlmm::one_at_a_time< Client, Lock >
Utility class for common behaviour.
Sub-classes of this class has methods to activate and deactivate a specific object. Sub-classes should implement the member function do_activate and do_deactivate . Preferably these member functions should be private or protected - which, however, requires that the sub-class befriends this class template: template <typename Lock>
class one : public one_at_a_time<one,Lock>
{
template <template <typename> class C,typename L>
friend class one_at_a_time;
void do_activate() { activation code }
void do_daactivate() { daactivation code }
...
};
- Parameters:
-
| Client | The sub class template |
| Lock | The lock type. |
Member Typedef Documentation
template<template< typename > class Client, typename Lock = single_thread> |
typedef Client<Lock> rlmm::one_at_a_time< Client, Lock >::client_type [protected] |
|
template<template< typename > class Client, typename Lock = single_thread> |
typedef Lock rlmm::one_at_a_time< Client, Lock >::lock_type [protected] |
|
Constructor & Destructor Documentation
|
Proteced copy constructor.
|
Member Function Documentation
|
Activate an object.
- Returns:
- The old active object.
|
template<template< typename > class Client, typename Lock = single_thread> |
static client_type& rlmm::one_at_a_time< Client, Lock >::active |
( |
|
) |
[inline, static] |
|
|
Return the active object.
|
template<template< typename > class Client, typename Lock = single_thread> |
void rlmm::one_at_a_time< Client, Lock >::deactivate |
( |
|
) |
[inline] |
|
template<template< typename > class Client, typename Lock = single_thread> |
virtual void rlmm::one_at_a_time< Client, Lock >::do_activate |
( |
|
) |
[protected, pure virtual] |
|
template<template< typename > class Client, typename Lock = single_thread> |
virtual void rlmm::one_at_a_time< Client, Lock >::do_deactivate |
( |
|
) |
[protected, pure virtual] |
|
template<template< typename > class Client, typename Lock = single_thread> |
bool rlmm::one_at_a_time< Client, Lock >::is_active |
( |
|
) |
const [inline] |
|
|
Test if this oject is the active one.
|
|
Protected assignment operator.
|
Member Data Documentation
template<template< typename > class Client, typename Lock = single_thread> |
Client< Lock > * rlmm::one_at_a_time< Client, Lock >::_current = 0 [static, protected] |
|
|
The current active object, if any.
|
template<template< typename > class Client, typename Lock = single_thread> |
Client< Lock > rlmm::one_at_a_time< Client, Lock >::_default [static, protected] |
|
template<template< typename > class Client, typename Lock = single_thread> |
Lock rlmm::one_at_a_time< Client, Lock >::_lock [static, protected] |
|
The documentation for this struct was generated from the following file:
Top of page
Last update Fri Aug 26 15:19:53 2005
Christian Holm
Created by DoxyGen 1.4.4
|