170 похожих чатов

Блин, там если чуть изменить - уже не собирается.

Такое можно починить как-нибудь?

#include <iostream>
#include <cstdlib>
#include <typeinfo>
#include <memory>


template<typename IdClass, typename TaskClass, template <typename> class LoggerClass>
class BigVertex
{
private:
IdClass i;
TaskClass t;
public:
void bar(const TaskClass & t){ LoggerClass<TaskClass>::Log(t); };
};

template<typename BigGraphClass>
class HttpHandler
{
BigGraphClass b;

typename BigGraphClass::TaskClassT t;

typedef BigVertex<
typename BigGraphClass::IdClassT,
typename BigGraphClass::TaskClassT,
typename BigGraphClass::LoggerClassT
> MyBigVertex;

std::shared_ptr<MyBigVertex> lp_begin;

public:
void handle(){ lp_begin.reset(new MyBigVertex()); lp_begin->bar(t); }
};

template<typename BigGraphClass>
class HttpServer
{
private:
HttpHandler<BigGraphClass> h;
public:
void xxx(){ h.handle(); }
};

template<typename IdClass, typename TaskClass, template <typename> class LoggerClass>
class BigGraph
{
public:
typedef IdClass IdClassT;
typedef TaskClass TaskClassT;
typedef LoggerClass<TaskClass> LoggerClassT;

private:
BigVertex<IdClass, TaskClass, LoggerClass> v;

public:
void foo(const TaskClass & t){ v.bar(t); };
};

template<typename TaskClass>
class Logger
{
void Log(const TaskClass & t){ std::cout << t << std::endl; };
};

int main(int argc, char** argv)
{
HttpServer<BigGraph<int,int,Logger>> h;
h.xxx();
return 0;
}

1 ответов

20 просмотров
Tim-Brunko Автор вопроса

таки починил) если кому интересно: #include <iostream> #include <cstdlib> #include <typeinfo> #include <memory> template<typename IdClass, typename TaskClass, typename LoggerClass> class BigVertex { private: IdClass i; TaskClass t; public: void bar(const TaskClass & t){ LoggerClass::Log(t); }; }; template<typename BigGraphClass> class HttpHandler { BigGraphClass b; typename BigGraphClass::TaskClassT t; typedef BigVertex< typename BigGraphClass::IdClassT, typename BigGraphClass::TaskClassT, typename BigGraphClass::LoggerClassT > MyBigVertex; std::shared_ptr<MyBigVertex> lp_begin; public: void handle(){ lp_begin.reset(new MyBigVertex()); lp_begin->bar(t); } }; template<typename BigGraphClass> class HttpServer { private: HttpHandler<BigGraphClass> h; public: void xxx(){ h.handle(); } }; template<typename IdClass, typename TaskClass, template <typename> class LoggerClass> class BigGraph { public: typedef IdClass IdClassT; typedef TaskClass TaskClassT; typedef LoggerClass<TaskClass> LoggerClassT; private: BigVertex<IdClass, TaskClass, LoggerClass<TaskClass>> v; public: void foo(const TaskClass & t){ v.bar(t); }; }; template<typename TaskClass> struct Logger { static void Log(const TaskClass & t){ std::cout << t << std::endl; }; }; int main(int argc, char** argv) { HttpServer<BigGraph<int,int,Logger>> h; h.xxx(); return 0; }

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта