Вложенные пространства имен в Rcpp - PullRequest
0 голосов
/ 16 января 2019

У меня есть рабочий пакет R, включая необходимый рабочий R / Cpp. Мой вопрос здесь больше о «хороших методах» при использовании вложенного пространства имен.

В настоящее время мой пакет имеет; 1) функции затрат, 2) функции оптимизации, 3) параллельные работники, которые вызывают функции оптимизации. В настоящее время рабочие определены в файлах .cpp, которые содержат экспортированную (в R) функцию cpp. Функции оптимизации имеют одно пространство имен и файл заголовка, а функции стоимости имеют собственный файл заголовка / пространства имен. Все функции оптимизации вызывают функцию стоимости, поэтому они включают заголовок «функция стоимости» и используют пространство имен «функция стоимости».

Поскольку файлы .cpp, которые запускаются параллельно и вызывают рабочих, имеют порядок ~ 700 строк, я подумал переместить рабочих в отдельное пространство имен и заголовочный файл. Они включают заголовок «оптимизация» и используют пространство имен «оптимизация».

Это заставило меня задуматься, действительно ли мне нужно 3 вложенных пространства имен? Было бы неплохо не иметь 3 пространств имен с 2-4 функциями в каждом из них. Кроме того, функции / всегда будут вызываться в порядке parallel_worker / optimize_function / cost_function, каждая из которых находится в отдельном пространстве имен / заголовке.

...