Вопросы по теме 'c++-concepts'

Что такое концепции?
Я слышал все это новое (в /.) О том, что C ++ 0x больше не имеет концепций, но я понятия не имею, что это такое? Кто-нибудь может мне объяснить?
1139 просмотров

Будут ли доступны ограничения шаблона для шаблонов переменных?
В последнем документе об ограничениях шаблона представлен новый набор инструментов для ограничения аргументов шаблона. Также в C ++ предусмотрены 14 шаблонов переменных. Шаблоны переменных позволяют, среди прочего, определять константы с...
411 просмотров
schedule 11.07.2022

void_t может реализовать концепции?
Я смотрел вторую часть доклада CppCon2014 Уолтера Брауна о метапрограммировании шаблонов , во время которой он обсуждал использование его романа void_t<> конструкции. Во время презентации Питер Соммерлад задал ему вопрос, который я не совсем...
7450 просмотров

Как они избегают проблем с концептуальной перегрузкой без явных моделей (они же концептуальные карты)
Как указано в ряде выступлений и статей Эндрю Саттона, предложение Concepts Lite действительно имеет функцию перегрузки на основе концепций и в то же время не имеет понятия карты концептов, то есть аргументы шаблона проверяются на соответствие...
132 просмотров
schedule 19.07.2022

Concepts-Lite в gcc (со ссылками на TS)
Как указано в недавнем ответе на этот вопрос , gcc теперь поддерживает concepts-lite в сборках из своего транка svn. Тот же вопрос связан с последним TS, N4377 . Изменить  – ответ имеет более новый TS. Полезный документ можно найти с...
398 просмотров
schedule 27.12.2022

Допустимо ли для реализации стандартной библиотеки специализировать функцию, созданную по шаблону концепции, с дочерней концепцией?
С концепциями библиотек С++ 11 и С++ 14 допустимая реализация стандартной библиотеки С++ может создать специализированную версию функции, основанную на шаблоне концепции, чтобы воспользоваться дополнительными функциями дочерней концепции для...
166 просмотров

средство проверки концепций не компилируется на gcc, потому что оно «не имеет связи»
Я создал класс проверки концепции на основе этого вопроса , цель которого заключается в том, чтобы убедиться, что данный класс имеет статическую функцию-член с именем baseUnitConversionFactor . Класс компилируется и отлично работает с msvc2013, но...
136 просмотров
schedule 02.08.2023

Почему в C++ Concepts TS есть концепции как переменных, так и функций?
Я просматривал C++1z N4377 Концепции TS черновик, который реализуется в GCC 6, и я не понимаю цели существования двух разных типов концепций: концепций переменных и концепций функций. Соответствующая часть черновика для концепций функций...
204 просмотров
schedule 10.04.2022

Как использовать концепции с gcc 6
Я пытаюсь написать класс, который должен требовать концепции Container с gcc 6 . Что я пробовал: class MyContainer { ... }; static_assert(std::Container<MyContainer>); Но я не могу заставить его скомпилировать.
530 просмотров
schedule 14.04.2023

Тип возвращаемого значения концепции функции (должен быть bool)
Эта страница http://en.cppreference.com/w/cpp/language/constraints указывает, что тип возвращаемого значения для концепции функции должен быть логическим. Если здесь есть только один вариант, то в чем причина требования указывать тип возвращаемого...
410 просмотров
schedule 20.01.2024

Почему размещение понятия в спецификаторе типа не приводит к выводу типа, когда одно и то же ограничение должно выводить разные типы?
У нас есть: template <typename ...T> concept bool Numerics = ( std::is_arithmetic_v<T> && ... ) ; template <typename T> concept bool Numeric = std::is_arithmetic_v<T>; Затем мы позволяем компилятору...
98 просмотров

Что-то вроде `decval` для понятий
Когда вы работаете с шаблонами и с decltype , вам часто нужен экземпляр определенного типа, даже если у вас его нет на данный момент. В этом случае std::declval<T>() невероятно полезен. Это создает воображаемый экземпляр типа T . Есть...
224 просмотров
schedule 28.02.2023

Требования к новым итераторам
Я заметил, что большинству, если не всем контейнерам, теперь требуется, чтобы их тип ::iterator удовлетворял LegacySomethingIterator вместо SomethingIterator . Например, std::vector<>::iterator теперь требует : iterator...
5012 просмотров
schedule 14.02.2024

Отключить специализацию классов с помощью концепций
Я реализую свою собственную версию std::span , используя Concepts TS. Я застрял в реализации этих конструкторов : template<class Container> constexpr span(Container& cont); template<class Container> constexpr span(const...
213 просмотров
schedule 11.06.2023

Полиморфизм концепций в C++
Короткий вопрос: как заставить шаблонную функцию вести себя по-другому, основываясь на поддержке концепции параметров. Я имею в виду, что если тип T реализует какую-то концепцию, то моя функция должна обрабатывать его специально, чем другие типы,...
205 просмотров
schedule 13.06.2023

шаблон-шаблон-параметр и концепции
Можно ли писать концепции для параметра шаблон-шаблон? In template<template<typename> typename T> struct A {}; Я хочу проверить, соответствует ли конкретный экземпляр T концепции. Пример: template<typename F>...
180 просмотров
schedule 07.03.2023

Как использовать объявление друга для класса шаблона с ограничениями
Для C ++ предназначены 20 концепций, и некоторые компиляторы уже предоставляют некоторые ранние реализации для этого. Мы столкнулись с некоторой проблемой с дружественными объявлениями шаблонного класса, где параметры имеют ограничения. После...
115 просмотров
schedule 27.05.2022

Переменная-член и проверка концепции функции
Я балую себя ранними воскресными махинациями на C ++ 20, и, играя с концепциями ствола gcc / clang, я наткнулся на проблему, для которой не нашел элегантного решения. Рассмотрим этот код: template <typename T> concept floating_point =...
88 просмотров
schedule 06.03.2023

Проверка Concept TS игнорирует модификатор закрытого доступа
Я хочу написать концепцию Indexable, означающую, что последовательность либо имеет начало/конец, которые возвращают RandomAccessIterator, либо оператор [] определен и возвращает значение непустого типа. Я использовал идеи из статьи Страуструпа...
181 просмотров
schedule 07.02.2024

Концепция с несколькими аргументами шаблона
Я пытаюсь использовать концепции C ++ 20, чтобы начать с ними знакомиться. Я чувствую себя вполне комфортно с простыми концепциями, например, со стандартной концепцией movable я могу написать что-то вроде этого (во всех примерах я полагаю, что я...
222 просмотров
schedule 15.08.2022