Лучшие Инструменты Управления версиями для использования для Photoshop/Illustrator и связанных двоичных файлов? [закрытый]

Шаблоны Variadic - это функция C ++ 0x, которая в первую очередь нацелена на авторов общих библиотек. Я бы не ожидал увидеть их в «коде пользователя». Например, в стандартной библиотеке C ++ 0x они используются во многих местах: std :: function, std :: async, std :: reference_wrapper, std :: tuple, std :: packaged_task, ...

Чтобы дать вам пример, я покажу вам, как может быть реализована reference_wrapper в отношении вариационных шаблонов:

template<class T>
class reference_wrapper
{
    T *ptr;
public:
    explicit reference_wrapper(T& thing) : ptr(&thing) {}
    explicit reference_wrapper(T&&     ) = delete;

    operator T&() const {return *ptr;}

    template<class... Args>
    decltype( declval<T&>()(declval<Args>()...) )
    operator()(Args&&... args) const
    {
        return (*ptr)(forward<Args>(args)...);
    }
};

Это не совсем соответствует стандарту, но предполагается для компиляции с небольшими изменениями. Он демонстрирует несколько функций C ++ 0x:

  • удаленные функции (отключение конструктора для rvalues)
  • ссылки rvalue (обнаружение аргументов rvalue для конструктора, совершенная переадресация)
  • с помощью decltype
  • шаблона стандартной библиотечной функции declval для создания объектов с целью создания выражения для decltype (GCC пока не предлагает этот шаблон функции. необходимо записать это самостоятельно)
  • variadic templates (принимает произвольное количество параметров)

Цель шаблона вариационного элемента - переслать аргументы объекту, указанному в ptr. Это должно работать в случае, если T - тип указателя функции или тип класса с перегруженным оператором вызова функции.

cheers! с

10
задан Brian Boatright 30 August 2008 в 17:31
поделиться

3 ответа

Смотрите на эту статью, сравнивающую Подверсию, Подвижную, Мерзавец и Базар для управления файлами в корневом каталоге, включая файлы изображений и большие файлы Photoshop, которые редактируются и имеющие версию.

Править: Ссылка является битой, и я не могу найти статью, однако информация в статье теперь сильно устарела так или иначе. Сегодня я настоятельно рекомендовал бы использовать Мерзавца-LFS (Большая Файловая система) с механизмом захвата файла, который был добавлен в 2017, я верю. Это - решение, которое я в настоящее время использую, поскольку оно решает обоих проблема необходимых для блокировки двоичных файлов и избегает неэффективности мерзавца когда дело доходит до того, чтобы хранить большие файлы - который был одним из основных моментов той статьи.

4
ответ дан 3 December 2019 в 23:52
поделиться

Смотрите на По необходимости (www.perforce.com), особенно при управлении этими файлами в контексте проектов разработки. Это - ориентированная на код система, но это поддерживает двоичные файлы хорошо и имеет плагин Photoshop. P4 не свободен, но это стоит каждого пенса при необходимости в SCM профессионального уровня - это твердо, быстро, гибко и просто в использовании. (Я - очень удовлетворенный клиент.)

1
ответ дан 3 December 2019 в 23:52
поделиться

Временная шкала PixelNovel - это плагин SVN для Photoshop. У них есть автономные и размещенные версии.

5
ответ дан 3 December 2019 в 23:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: