Вопросы по теме 'generic-programming'

Избавьтесь от своего шаблона в f #
Я воспользовался Утилизировать шаблон и Библиотеки Uniplate на языке программирования Haskell, и я считаю, что эта форма универсального программирования поверх размеченных объединений действительно полезна. Есть ли эквивалентная библиотека на...
1166 просмотров

возвращаемое значение void из функции, используемой в качестве входных данных для шаблонной функции, рассматривается как параметр
Скажем, у вас есть целевой класс с некоторыми методами: class Subject { public: void voidReturn() { std::cout<<__FUNCTION__<<std::endl; } int intReturn() { std::cout<<__FUNCTION__<<std::endl; return 137; } }; И...
1391 просмотров
schedule 19.08.2022

Есть ли у этой функции более высокого порядка имя?
Я вижу этот паттерн повсюду в своем коде и в библиотеках, но, кажется, нигде не могу найти его имени или абстракции. Пример (псевдокод) T foo( T x, void f(T&) ) { T y = x; f( y ); return y; } В основном: возьмите значение и...
162 просмотров

рекурсивно преобразовать Map[Int, Map[Int, X]] в Array[Array[X]]
Я пытаюсь написать функцию, которая преобразует карты с целочисленными ключами в соответствующие массивы. У меня есть базовый вариант, но я пытаюсь написать рекурсивный случай (т.е. многомерные массивы: преобразование Map[Int, Map[Int, X]] в...
1721 просмотров

Мета-магия шаблонов C ++, механизм удержания квалификации на сайте вызова шаблона
Прошу прощения за многословие этого примера, я придумал его из проекта. Прокомментированные пункты 1 и два важны в следующем коде. #include <boost/intrusive/set.hpp> struct x : public boost::intrusive::set_base_hook<> { int y;...
383 просмотров

Передача объекта класса шаблона в качестве параметра функции, который ожидает базовый класс шаблона
У меня есть класс шаблона, который параметризован другим классом с глубокой иерархией. Я хочу перейти к базовому классу шаблона функции, параметризованному другим базовым классом. Вот пример: // Base template class test #include <stdio.h>...
6055 просмотров
schedule 25.04.2023

Получение незакрытого типа универсального типа, закрывающего универсальный тип
У меня возникла проблема (вероятно, из-за того, что я не знаком с дженериками C#) при получении незамкнутого типа дженерика. У меня есть несколько методов, которые выглядят довольно похожими на следующие, за исключением используемого явного...
174 просмотров
schedule 10.01.2023

универсальный класс для форм quickDialog
Позвольте мне начать с объяснения ситуации. Я делаю приложение IOS, которое работает с веб-службой и веб-приложением. Возьмем следующий пример. Допустим, у нас есть компания X. Компания X может создавать все виды форм с помощью веб-приложения...
487 просмотров

Общее программирование на Go?
Я знаю, что Go не поддерживает шаблоны или перегруженные функции, но мне интересно, есть ли способ сделать какое-то универсальное программирование? У меня есть много функций, таких как эти: func (this Document) GetString(name string,...
2193 просмотров

утверждение времени компиляции в c ++
Я читаю утверждение времени компиляции, после поиска в Интернете я получил код, который я не понял. template <bool> struct CompileAssert {}; #define COMPILE_ASSERT(expr, msg) \ typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1...
217 просмотров
schedule 08.06.2024

Модульное тестирование универсального метода
Я написал свой собственный общий связанный список и хотел протестировать различные методы. Например, у меня есть метод Contains public bool Contains(T item) { lock (this) { Node<T> currentNode =...
7222 просмотров
schedule 14.04.2024

Аннотированные рекурсивные типы данных с другим типом аннотации в AST
В игрушечном компиляторе, который я пишу, я хочу использовать общие рекурсивные типы данных для представления абстрактных синтаксических деревьев (AST), возможно, аннотированных некоторым атрибутом. Синтаксический анализатор создает AST для...
718 просмотров

Есть ли способ избежать перегрузки метода аргументом Func‹T, › для каждого параметра Func?
Я знаю, что вопрос звучит немного странно. Извините за это, с трудом пытаясь добраться туда, куда я хочу, и даже объяснить это. Для простоты у меня есть метод с аргументом Func<T> . Но я не всегда передаю этому методу Action без...
128 просмотров
schedule 06.04.2023

Выберите имя функции на основе параметра шаблона
Есть ли способ автоматически выбирать между несколькими нешаблонными функциями на основе параметра шаблона? Пример: class Aggregate { public: std::string asString(); uint32_t asInt(); private: // some conglomerate data };...
1366 просмотров
schedule 20.12.2022

Что означает ‹T›T при использовании в качестве сигнатуры метода? Это возвращаемый тип?
abstract public <T> T iterEdges(EdgeFun<T> func, T accum); Это для многопоточной библиотеки для графиков. Я не прошу ничего, относящегося к фактической реализации, я просто не понимаю, что означают двойные возвращаемые типы? Я...
1351 просмотров
schedule 30.08.2022

Как избежать повторения типа окружающего класса, когда нельзя использовать auto и decltype()
Недавно я обнаружил функции auto и decltype() C++11, которые превосходны, поскольку позволяют избавиться от большого количества избыточного кода типов. Однако есть контексты, в которых они не могут быть использованы. Один пример, о котором я в...
148 просмотров
schedule 16.12.2023

Как я могу создать подтип «я», который будет обертывать другие подтипы «я»?
Учитывая следующее в Java: public interface Reply<T> { T data(); } public class StatusReply implements Reply<String> { private final String status; public StatusReply(String status) { this.status = status; } @Override...
37 просмотров

Что означает typename = в параметрах шаблона?
Я видел это выражение на странице 189 книги "Effective Modern C++": template<typename T, typename = typename std::enable_if<condition>::type> explicit Person(T&& n); Мне просто интересно, что означает...
4108 просмотров

Универсальное программирование Arity в Agda
Как написать общие функции арности в Agda? Можно ли написать полностью зависимые и полиморфные вселенную общие функции с арностью?
655 просмотров

Как определить параметр функции по умолчанию, связанный с универсальным параметром?
Я пытаюсь реорганизовать функцию ( найденную ближе к концу этого ответа StackOverflow ), чтобы сделать ее немного более общей. Вот исходное определение функции: def tryProcessSource( file: File, parseLine: (Int, String) =>...
178 просмотров
schedule 25.06.2023