Mam do użytkowników foum pewne pytanie. Dłuższy czas myślałem nad stworzeniem biblioteki do C++. Zawierałaby ona komponenty potrzebne do sprawdzania właściwości danego typu (coś jak <type_traits>). Sprawdzałaby ona czy typ spełnia daną koncepcję (Concepts: http://en.cppreference.com/w/cpp/concept). Co to jest koncept? Odsyłam do wikipedii: https://en.wikipedia.org/wiki/Concepts_%28C%2B%2B%29. Przykład kodu:
template<typename Container>
struct Stack {
static_assert(rdf::is_container<Container>::value,
"Argument szablonu 'Container' musi spełniać wymagania kontenera");
// ...
};
Stack<std::vector<int>> stos1; // Brak błędu, std::vector<> spełnia wymagania kontenera
Stack<int> stos2; // Błąd w czasie kompilacji
W tym przypadku szablon rdf::is_container<> sprawdza czy podany typ (jako argument szablonu), spełnia wymagania 'Container' (http://en.cppreference.com/w/cpp/concept/Container). Pełen zarys biblioteki można znaleźć TU. Moje pytanie brzmi: czy taka biblioteka się komukolwiek przyda?