Реализация атомарного :: store

Я пытаюсь реализовать атомарную библиотеку из черновика C ++ 0x. В частности, я реализую §29.6 / 8, store метод:

template <typename T>
void atomic<T>::store(T pDesired, memory_order pOrder = memory_order_seq_cst);

Требование гласит:

Аргумент порядка не должен быть memory_order_consume, memory_order_acquire или memory_order_acq_rel.

Я не уверен, что делать, если это один из них. Должен ли я делать ничего, выбросить исключение, получить неопределенное поведение или сделать что-то еще?

PS: «C ++ 0X» выглядит как дохлая рыба: 3

7
задан Joel Barba 18 September 2010 в 18:45
поделиться