Пример работы алгоритма контейнера BCCL - PullRequest
0 голосов
/ 11 июля 2011

Может ли кто-нибудь , пожалуйста, дать полный (включая все заголовочные файлы) рабочий (который компилируется) пример использования Boost BCCL наboost::RandomAccessContainer вместе с std :: sort?

1 Ответ

3 голосов
/ 11 июля 2011

Что не так с примером, приведенным в документации?

Конечно, это не завершено, но это должно быть тривиально, чтобы заставить его скомпилировать ...

Кроме того, ваш запрос не может быть выполнен: вы хотите проверить концепцию для std::sort, но эту функцию нельзя переопределить. Конечно, вы можете определить свою собственную функцию сортировки и использовать код BCCL, указанный в документации:

#include <algorithm>

#include "boost/concept/requires.hpp"

template<typename I>
BOOST_CONCEPT_REQUIRES(
    ((Mutable_RandomAccessIterator<I>))
    ((LessThanComparable<typename Mutable_RandomAccessIterator<I>::value_type>)),
    (void)) // return type
    sort(I begin, I end)
{
    std::sort(begin, end);
}

int main() {
    int a[] = { 1, 4, 3, 2, 6, 5 };
    sort(a, a + 6);
}

Примечание : я никогда не использовал BCCL. Взломать вышеупомянутое вместе было тривиально и заняло у меня меньше пяти минут. Конечно, вы могли бы сделать то же самое?

...