DocWire SDK
DocWire SDK: Award-winning modern data processing in C++20. SourceForge Community Choice & Microsoft support. AI-driven processing. Supports nearly 100 data formats, including email boxes and OCR. Boost efficiency in text extraction, web data extraction, data mining, document analysis. Offline processing possible for security and confidentiality
concepts_misc.h
1 /*********************************************************************************************************************************************/
2 /* DocWire SDK: Award-winning modern data processing in C++20. SourceForge Community Choice & Microsoft support. AI-driven processing. */
3 /* Supports nearly 100 data formats, including email boxes and OCR. Boost efficiency in text extraction, web data extraction, data mining, */
4 /* document analysis. Offline processing possible for security and confidentiality */
5 /* */
6 /* Copyright (c) SILVERCODERS Ltd, http://silvercoders.com */
7 /* Project homepage: https://github.com/docwire/docwire */
8 /* */
9 /* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-DocWire-Commercial */
10 /*********************************************************************************************************************************************/
11 
12 #ifndef DOCWIRE_CONCEPTS_MISC_H
13 #define DOCWIRE_CONCEPTS_MISC_H
14 
15 #include <type_traits>
16 
17 namespace docwire
18 {
19 
23 template <typename T>
24 concept strong_type_alias = requires(T value) { value.v; };
25 
29  template<typename T>
30  concept dereferenceable = requires(const T& t) { *t; !t; };
31 
35 template<typename T>
36 concept empty = std::is_empty_v<T>;
37 
38 } // namespace docwire
39 
40 #endif // DOCWIRE_CONCEPTS_MISC_H
The main namespace for the DocWire SDK.
Definition: ai_elements.h:19
concept dereferenceable
Concept to detect if a type is dereferenceable like a pointer.
Definition: concepts_misc.h:30
concept strong_type_alias
Concept for strong type aliases that wrap a single public member v.
Definition: concepts_misc.h:24
requires(!string_method_equipped< T >) struct stringifier< T >
Specialization for types that are streamable to std::ostream.
concept empty
Concept for empty structs.
Definition: concepts_misc.h:36