Публикации по теме 'generic-programming'
Цель
Общее программирование
Универсальное программирование основано на идее абстрагирования от конкретных эффективных алгоритмов для получения универсальных алгоритмов, которые можно комбинировать с различными представлениями данных для создания широкого спектра полезного программного обеспечения.
— Мюссер, Дэвид Р.; Степанов, Александр А., Общее программирование
Цель
Чтобы заставить алгоритм/метод/решение работать в общем, инкапсулируя детали о структурах данных и..
В PHP все еще отсутствуют биты: дженерики.
Эта статья - первая из серии, посвященной отсутствующим битам PHP. В последующих статьях будет рассказано о других концепциях типизации, таких как средства доступа и типы данных.
PHP 7.2 не за горами, принося связанные с типом изменения, такие как тип object в сигнатуре или расширение типа параметра. Они подтверждают желание сообщества PHP укрепить систему типов PHP и повысить безопасность типов.
В Libcast мы ценим эти изменения, которые позволяют полагаться на IDE для..
Вопросы по теме 'generic-programming'
Где вы находите полезные шаблоны?
На моем рабочем месте мы обычно используем iostream , строку , вектор , карту и нечетные алгоритм или два. На самом деле мы не обнаружили много ситуаций, когда методы шаблонов были бы лучшим решением проблемы.
Здесь я ищу идеи и, возможно,...
3623 просмотров
schedule
28.03.2022
Как вы делаете универсальное программирование на Haskell?
Исходя из C++, я считаю универсальное программирование незаменимым. Интересно, как люди подходят к этому в Haskell?
Скажите, как написать общую функцию подкачки в Haskell?
Существует ли эквивалентная концепция частичной специализации в Haskell?...
9140 просмотров
schedule
12.07.2022
Удержание экземпляра универсального типа - C++
У меня есть класс tree_node и класс tree .
template<typename T>
class tree_node
{
public:
tree_node(const std::string& key_, const T& value_)
: key(key_), value(value_)
{
}
private:
T value;
std::string...
460 просмотров
schedule
27.05.2022
Как проверить, является ли TypeIdenitifier(T) объектом?
Я создаю общий класс списка, который имеет член типа Array(Array of ). Проблема заключается в уничтожении класса, потому что класс предполагается использовать для типов от byte до типов, наследующих TObject.
Конкретно:
destructor Destroy;
var...
375 просмотров
schedule
16.04.2022
Библиотеки программирования, универсальные для типов данных, для Scala
Я ищу библиотеку Scala, позволяющую программировать на основе типов данных (например, Выбросьте свой шаблон , например). Список библиотек с соответствующими ссылками и краткими описаниями для каждой был бы идеальным ответом.
773 просмотров
schedule
11.10.2022
Есть ли какой-нибудь алгоритм, чтобы найти доступную пропускную способность между двумя узлами в Интернете?
Я пытаюсь разработать программу, которая отображает доступную пропускную способность между двумя узлами. Позже этот модуль будет интегрирован в мое приложение, которое облегчает различные взаимодействия с пользователем (чаты, совместное использование...
294 просмотров
schedule
04.04.2022
Возможны ли общие оболочки функций в C++?
Это появилось, когда я искал ошибку в оболочке функции boost::fusion::fused при использовании decltype. Похоже, проблема заключается в том, что недопустимый decltype является ошибкой компиляции, даже если экземпляр шаблона, для которого он...
756 просмотров
schedule
27.04.2023
Как выразить сопоставление с образцом для независимых комбинаций значений данных?
data Foo = Bar1
| Bar2 Foo Foo
| Bar3 Foo
| Bar4 Foo Foo Foo
Теперь предположим, что кто-то построил дерево Foo , и я хочу проверить, допустимы ли аргументы значения Foo. Правила для аргументов конструктора:...
151 просмотров
schedule
16.07.2022
Как можно использовать стрелки для нескольких кортежей?
foo (a1,a2) (b1,b2) (c1,c2) = (bar a1 b1 c1, bar2 a2 b2 c2)
У меня много таких конструкций с разным количеством кортежей аргументов. В случае
foo' (a1,a2) = (bar' a1, bar2' a2)
Я подумал: «Эй, это стрелы!»:
foo' = bar' *** bar2'...
193 просмотров
schedule
03.05.2023
Как проверить (общий (общий аргумент))?
Фон (о котором нам не нужно беспокоиться)
Это вопрос, полученный из Build A Generic Tree With Inheritance . Я открываю этот вопрос как отдельный вопрос, потому что это связано не только с проблемой дерева. Вместо этого это скорее общая и...
744 просмотров
schedule
23.08.2022
как написать общую функцию сравнения в Haxe (haxe3)
Я пытаюсь написать общую функцию сравнения (например, c strcmp) в Haxe3 для типа шаблона A, предполагая, что этот тип шаблона имеет оператор меньше или равно "‹=".
Я видел в документации Haxe3 ( http://haxe.org/manual/haxe3/features ), что вы...
1395 просмотров
schedule
15.07.2022
Обычное сравнение объектов в иерархии наследования в С++
Я планирую написать мультимап, как это
std::multimap <key, base_ptr> mymap;
И я хотел бы иметь возможность хранить указатели многих производных классов (скажем, Der1 , Der2 ), которые происходят от базы.
Теперь, когда я пытаюсь...
234 просмотров
schedule
23.12.2022
Конструктор статического члена шаблона С++ не вызывается
У меня есть два тестовых примера класса, имеющего экземпляр статического члена. В первом используются образцы без шаблонов, а во втором используются общие типы объектов.
Дилемма проста : конструктор статического члена вызывается перед основной...
342 просмотров
schedule
17.08.2022
Как я могу сохранить общее дерево в файле?
У меня есть общая реализация дерева, написанная на С++, которая может хранить любой тип (int, float, string и т.д.)
template<class T> class Tree {
public:
// Class interface
private:
T node;
std::list<Tree<T>*>* children;
};...
963 просмотров
schedule
05.06.2022
Play Framework 2 — шаблон Scala: как вызвать определенный метод для универсального объекта?
Я использую Play Framework 2.1.5 в приложении Java.
У меня есть компонент представления, который принимает в качестве параметра список общих объектов. В этом компоненте я хочу выполнить итерацию по списку и получить некоторые свойства каждого...
1270 просмотров
schedule
16.08.2022
как сделать Scala canBuildFrom для построения типа коллекции от Seq до Set
Я экспериментировал с трейтом CanBuildFrom на Scala, он выглядит нормально, когда я пытаюсь автоматически преобразовать тип Array в тип Seq, я думаю, причина в том, что у нас есть CanBuildFrom[Array, T, Seq[T]] в области видимости. Однако, если я...
494 просмотров
schedule
10.07.2023
Как обобщить общий метод для анализа текста и присвоения списку переменных для разного количества переменных?
Мне нужно прочитать текст, разделенный табуляцией (или запятой), и назначить их списку встроенных переменных (int, char, string и т. Д., Но не объекту). Я хочу справиться с этим с помощью универсального метода. Вот рабочий код, который я использую...
86 просмотров
schedule
16.12.2023
SYB: можно ли переписать карту результата listify с помощью gfoldl?
Могу ли я использовать gfoldl от SYB, чтобы сделать карту результатов listify за один раз?
Рассмотрим, например, следующий код:
extractNums :: Expr -> [Int]
extractNums e = map numVal $ listify isNum e
where isNum :: Expr -> Bool...
175 просмотров
schedule
13.06.2022
Как использовать универсальный редактор для доступа к базе данных в гобелене 5?
У меня есть проект гобелена 5, который содержит следующее:
Абстрактная сущность в пакете сущностей, которая наследуется всеми другими конкретными сущностями.
import java.io.Serializable;
import javax.persistence.Basic;
import...
556 просмотров
schedule
01.05.2022
Создание общей многократно используемой функции с неявными и типами в Scala
У меня есть блок кода, который реплицируется буквально повсюду. Этот блок кода (около 10 строк) обрабатывает входящие действия, проверяет их, обрабатывает сериализацию JSON и вызывает внутреннюю функцию, подготавливая результат.
Я знаю, что это...
277 просмотров
schedule
27.10.2022