Форум программистов, компьютерный форум CyberForum.ru

mpl проход по элементам - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Compile-time алгоритмы. сборник http://www.cyberforum.ru/cpp/thread323714.html
всем привет. предлагаю в этой теме обсуждать/реализовывать/выкладывать compile-time алгоритмы. под CUT'ом. подсчет FNV1a-хеш суммы строк: #include <iostream> template<size_t N, size_t I=0>
C++ Практические задания из собеседований Предлагаю в данной теме выкладывать интересные и не очень практические задачи, которые попадаются на собеседованиях. Я начну: 1. Написать функцию, определяющую является ли заданное число степенью двойки. 2. Написать функцию, определяющую содержит ли односвязный список циклы (например, последний ссылается на второй). Просьба решения выкладывать под CUT'ом. http://www.cyberforum.ru/cpp/thread308978.html
realloc и вызов конструктора C++
здраствуйте! мне препод сказал, что можно выделить память оператором new, а потом довыделить её с помощью realloc и каким-то образом вызвать конструкторы для новой памяти(ну или это я так его понял:D). Как это можно сделать? задание вобще такое: Во всех вариантах необходимо первоначально создать шаблон класса для работы с массивом произвольного типа данных. Шаблон должен включать: указатель,...
Баг asio? или баг TCP стека? C++
всем привет. повстречался с очень странным багом. и не могу определить кто бажит, asio, или TCP-стек. на стороне клиента, сохраняю отправляемые массивы в файл, чтоб убедится в том, что массивы не портятся. так и есть. массивы не искаженны: на стороне сервера, так же, сохраняю принятые массивы. но тут, массив приходит искаженным:
C++ Получить индекс типа в mpl::map`е http://www.cyberforum.ru/cpp/thread226098.html
всем привет. есть mpl карта типов(key -> value). нужно получить индекс типа имея только ключ. где-то накосячил. но непойму где. #include <iostream> #include <boost/mpl/distance.hpp> #include <boost/mpl/find.hpp> #include <boost/mpl/find_if.hpp>
C++ Задачи для тренировки и лучшего понимания Ребят. Кто-нибудь может дать задачу для тренировки? Приблизительно по всему курсу С++. Буду благодарен за сложную задачу, но которую способен сделать новичок-любитель. Затраты сил-времени не важно. Главное, чтобы это было интересно и не слишком рутинно. + Если найдется человек который даст задачу просьба помогать с кодом, который я буду себя скидывать. Не переписывать за меня, но указывать на... подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.07.2011, 18:27  [ТС]     mpl проход по элементам
niXman, Что-то вроде?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
namespace mpl = boost::mpl;
 
 
template<class T, int N, int I = 0>
struct counter
{
    static const int value = mpl::at<T, mpl::int_<counter<T, N, I+1>::value>>::type::value;
    static constexpr int apply()
    {
        return counter<T, N, I>::value + counter<T, N, I + 1>::apply();
    }
};
 
template<class T, int N>
struct counter<T, N, N>
{
    static const int value = 0;
    static constexpr int apply()
    {
        return 0;
    }
};
 
template<class T>
int count(const T& val)
{
    return counter<T, mpl::size<T>::value>::apply();
}
 
int main()
{
    typedef mpl::vector_c<int, 1, 2, 3, 4, 5, 6, 7> vector_c;
    vector_c new_vec;
    std::cout << count(new_vec) << '\n';
}
 
Текущее время: 06:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru