Вопросы по теме 'generic-programming'
Избавьтесь от своего шаблона в f #
Я воспользовался Утилизировать шаблон и Библиотеки Uniplate на языке программирования Haskell, и я считаю, что эта форма универсального программирования поверх размеченных объединений действительно полезна. Есть ли эквивалентная библиотека на...
1166 просмотров
schedule
24.01.2023
возвращаемое значение 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 просмотров
schedule
15.11.2023
рекурсивно преобразовать Map[Int, Map[Int, X]] в Array[Array[X]]
Я пытаюсь написать функцию, которая преобразует карты с целочисленными ключами в соответствующие массивы. У меня есть базовый вариант, но я пытаюсь написать рекурсивный случай (т.е. многомерные массивы: преобразование Map[Int, Map[Int, X]] в...
1721 просмотров
schedule
28.04.2022
Мета-магия шаблонов C ++, механизм удержания квалификации на сайте вызова шаблона
Прошу прощения за многословие этого примера, я придумал его из проекта. Прокомментированные пункты 1 и два важны в следующем коде.
#include <boost/intrusive/set.hpp>
struct x : public boost::intrusive::set_base_hook<>
{
int y;...
383 просмотров
schedule
05.10.2023
Передача объекта класса шаблона в качестве параметра функции, который ожидает базовый класс шаблона
У меня есть класс шаблона, который параметризован другим классом с глубокой иерархией. Я хочу перейти к базовому классу шаблона функции, параметризованному другим базовым классом. Вот пример:
// Base template class test
#include <stdio.h>...
6055 просмотров
schedule
25.04.2023
Получение незакрытого типа универсального типа, закрывающего универсальный тип
У меня возникла проблема (вероятно, из-за того, что я не знаком с дженериками C#) при получении незамкнутого типа дженерика. У меня есть несколько методов, которые выглядят довольно похожими на следующие, за исключением используемого явного...
174 просмотров
schedule
10.01.2023
универсальный класс для форм quickDialog
Позвольте мне начать с объяснения ситуации. Я делаю приложение IOS, которое работает с веб-службой и веб-приложением. Возьмем следующий пример.
Допустим, у нас есть компания X. Компания X может создавать все виды форм с помощью веб-приложения...
487 просмотров
schedule
20.10.2022
Общее программирование на Go?
Я знаю, что Go не поддерживает шаблоны или перегруженные функции, но мне интересно, есть ли способ сделать какое-то универсальное программирование?
У меня есть много функций, таких как эти:
func (this Document) GetString(name string,...
2193 просмотров
schedule
17.02.2024
утверждение времени компиляции в 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 просмотров
schedule
10.04.2022
Есть ли способ избежать перегрузки метода аргументом 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 просмотров
schedule
24.10.2022
Что означает typename = в параметрах шаблона?
Я видел это выражение на странице 189 книги "Effective Modern C++":
template<typename T,
typename = typename std::enable_if<condition>::type>
explicit Person(T&& n);
Мне просто интересно, что означает...
4108 просмотров
schedule
07.06.2024
Универсальное программирование Arity в Agda
Как написать общие функции арности в Agda? Можно ли написать полностью зависимые и полиморфные вселенную общие функции с арностью?
655 просмотров
schedule
17.10.2022
Как определить параметр функции по умолчанию, связанный с универсальным параметром?
Я пытаюсь реорганизовать функцию ( найденную ближе к концу этого ответа StackOverflow ), чтобы сделать ее немного более общей. Вот исходное определение функции:
def tryProcessSource(
file: File,
parseLine: (Int, String) =>...
178 просмотров
schedule
25.06.2023