2011-02-13 2 views
0

Мне иногда нужна «нулевая» реализация named_mutex (т. Е. Всегда преуспевает и ничего не делает).BOOST: Как реализовать null named_mutex?

Есть ли такая реализация? Если нет, то какой рекомендуемый способ реализовать?

+0

Как он используется? – GManNickG

+0

@GMan: использование scoped lock-scoped_lock lock (* _ mutex, second_clock :: universal_time() + seconds (2)) – GabiMe

ответ

0

Почему бы просто не иметь класс с пустыми определениями?

class named_mutex 
{ 
public: 
    named_mutex(create_only_t, const char *) {} 
    named_mutex(open_or_create_t, const char *) {} 
    named_mutex(open_only_t, const char *) {} 
    ~named_mutex() {} 

    void unlock() {} 
    void lock() {} 
    bool try_lock() {} 
    bool timed_lock(const boost::posix_time::ptime &) {} 

    static bool remove(const char *) {} 
}; 

Используйте экземпляр этого в качестве named_mutex и это, как он никогда не существовал.

Смежные вопросы