|
class | eagine::any_forward_iterator< VT, RT, PT, DT > |
| Type erasure for forward iterators. More...
|
|
class | eagine::any_random_engine< Result > |
| Type-erasing reference for standard random engine types. More...
|
|
struct | eagine::anything |
| Type that can by constructed from single argument of any other type. More...
|
|
class | eagine::biteset_value_proxy< BiS > |
| Proxy class that can be used to access elements in a biteset. More...
|
|
class | eagine::biteset_value_proxy_base< BiS > |
| Base class for biteset value proxy. More...
|
|
class | eagine::biteset_value_proxy< const biteset< N, B, T > > |
| Specialization of biteset proxy for const biteset values. More...
|
|
class | eagine::biteset_value_proxy< biteset< N, B, T > > |
| Specialization of biteset proxy for mutable biteset values. More...
|
|
class | eagine::biteset_iterator< biteset< N, B, T > > |
| Iterator type for biteset. More...
|
|
class | eagine::biteset< N, B, T > |
| Sequence of unsigned integer values with specified number bits. More...
|
|
class | eagine::bitfield< Bit > |
| Class for manipulating and testing a group of enumeration-based bits. More...
|
|
class | eagine::some_true |
| Class storing initially false value and logically or-ing other values. More...
|
|
class | eagine::byteset< N > |
| Class storing a sequence of bytes converting them to and from unsigned integer. More...
|
|
class | eagine::double_buffer< T > |
| Class holding two instances of type T and allows to switch them. More...
|
|
class | eagine::static_enum_map< Enum, Unit, Keys > |
| Class mapping from an enumerator of an instantiation of a template. More...
|
|
class | eagine::integer_range< T > |
| Integer range type template usable in range-based loops. More...
|
|
class | eagine::interface< Derived > |
| Base template for abstract interfaces, implements common functionality. More...
|
|
class | eagine::abstract< Derived > |
| Base template for polymorphic classes, implements common functionality. More...
|
|
class | eagine::basic_iterable_type< T, Derived > |
| Template used in implementation of some iterators. More...
|
|
class | eagine::basic_selfref_iterator< T, Derived > |
| Iterator referencing the wrapped iterable type. More...
|
|
struct | eagine::selfref_iterator< T > |
| Default instantiation of basic_selfref_iterator. More...
|
|
class | eagine::basic_transforming_iterator< Iterator, T, S, Transform, Derived > |
| Iterator transforming the referenced elements. More...
|
|
struct | eagine::transforming_iterator< Iterator, T, S, Transform > |
| Default instantiation of basic_transforming_iterator. More...
|
|
class | eagine::basic_noexcept_casting_iterator< Iterator, T, S, Derived > |
| Iterator type-casting the referenced elements. More...
|
|
struct | eagine::noexcept_casting_iterator< Iterator, T, S > |
| Default instantiation of basic_noexcept_casting_iterator. More...
|
|
struct | eagine::key_value_list_element< Traits > |
| A single key/value pair for a key/value list. More...
|
|
class | eagine::key_value_list< Traits, N > |
| Template for classes wrapping static key/value typically attribute lists. More...
|
|
class | eagine::main_ctx_log_backend_getter |
| Helper class used in the implementation of logging in main context object. More...
|
|
struct | eagine::memory::typed_nullptr_t< T > |
| Class for doing pointer arithmetic on null pointers. More...
|
|
struct | eagine::memory::has_span_size_member< T > |
| Helper class detecting if type T has x.size() member function. More...
|
|
struct | eagine::memory::has_span_data_member< T, E > |
| Helper class detecting if type T has x.data() member function. More...
|
|
class | eagine::memory::basic_span< ValueType, Pointer, SizeType > |
| Non-owning view of a contiguous range of memory with ValueType elements. More...
|
|
struct | eagine::nothing_t |
| Class representing "none" / "nothing" values. More...
|
|
class | eagine::protected_member< T, Selector > |
| Class holding a single tagged data member. More...
|
|
|
template<typename T > |
using | eagine::any_std_forward_iterator = any_forward_iterator< T, const T &, const T *, std::ptrdiff_t > |
| Alias for type erased STL forward iterators.
|
|
template<typename std::size_t B> |
using | eagine::biteset_cell_type = std::conditional_t<(B<=8), std::uint_least8_t, std::conditional_t<(B<=16), std::uint_least16_t, std::conditional_t<(B<=32), std::uint_least32_t, std::conditional_t<(B<=64), std::uint_least64_t, void > >> > |
| Selects the appropriate type for biteset element representation. More...
|
|
template<bool B> |
using | eagine::bool_constant = std::integral_constant< bool, B > |
| Alias for boolean constant type.
|
|
template<int I> |
using | eagine::int_constant = std::integral_constant< int, I > |
| Alias for signed int constant type.
|
|
template<unsigned U> |
using | eagine::unsigned_constant = std::integral_constant< unsigned, U > |
| Alias for unsigned int constant type.
|
|
template<std::size_t S> |
using | eagine::size_constant = std::integral_constant< std::size_t, S > |
| Alias for size_t constant type.
|
|
template<identifier_t Id> |
using | eagine::id_constant = std::integral_constant< identifier_t, Id > |
| Alias for identifier_t constant type. More...
|
|
template<bool IsConst> |
using | eagine::memory::basic_block = basic_span< std::conditional_t< IsConst, const byte, byte > > |
| Alias for byte spans.
|
|
template<bool IsConst> |
using | eagine::memory::basic_split_block = basic_split_span< std::conditional_t< IsConst, const byte, byte > > |
| Alias for split span of bytes.
|
|
using | eagine::byte = unsigned char |
| Byte type alias.
|
|
using | eagine::std_align_t = std::size_t |
| Alignment type used by std.
|
|
using | eagine::std_size_t = std::size_t |
| Size type used by std.
|
|
using | eagine::span_size_t = std::ptrdiff_t |
| Signed span size type used by eagine.
|
|
using | eagine::valid_span_size = valid_if_nonnegative< span_size_t > |
| Valid size type.
|
|
|
template<typename T , std::size_t N> |
static constexpr auto | eagine::array_size (const T(&)[N]) noexcept |
| Returns the number of elements in the array passed as argument.
|
|
template<typename T > |
auto | eagine::from_string (string_view src) noexcept |
| Converts the string representation in src to a value of type T . More...
|
|
template<typename T , identifier_t V> |
auto | eagine::from_string (string_view src, selector< V > sel) noexcept |
| Converts the string representation in src to a value of type T . More...
|
|
template<typename H , typename I > |
auto | eagine::integer_hash (I x, type_identity< H > hid={}, type_identity< I > iid={}) -> H |
| Creates a hash value with type H from an integer value of type I .
|
|
template<typename B , typename E > |
| eagine::integer_range (B, E) -> integer_range< std::common_type_t< B, E >> |
| Deduction guide for integer_range.
|
|
template<typename Dst , typename Src > |
static constexpr auto | eagine::is_within_limits (Src value) noexcept |
| Indicates if value fits into the specified Dst type. More...
|
|
template<typename Dst , typename Src > |
static constexpr auto | eagine::limit_cast (Src value) noexcept -> std::enable_if_t< std::is_convertible_v< Src, Dst >, Dst > |
| Casts value to Dst type if the value fits in that type. More...
|
|
template<typename Dst , typename Src > |
static constexpr auto | eagine::convert_if_fits (Src value) noexcept -> std::enable_if_t< std::is_convertible_v< Src, Dst >, optionally_valid< Dst >> |
| Optionally converts value to Dst type if the value fits in that type. More...
|
|
template<typename T , typename N > |
static constexpr auto | eagine::memory::operator+ (typed_nullptr_t< T >, N n) noexcept -> T * |
| Pointer arithmetic addition operator for null pointers.
|
|
template<typename T , typename B , typename P , typename S > |
static constexpr auto | eagine::memory::can_accomodate (basic_span< B, P, S > blk, span_size_t count, type_identity< T > tid={}) noexcept |
| Indicates if the specified memory block can accomodate count elements of T.
|
|
template<typename T , typename B , typename P , typename S > |
static constexpr auto | eagine::memory::can_accomodate (basic_span< B, P, S > blk, type_identity< T > tid={}) noexcept |
| Indicates if the specified memory block can accomodate one element of T.
|
|
template<typename T , typename P , typename S , typename Predicate > |
static auto | eagine::memory::all_of (basic_span< T, P, S > spn, Predicate predicate) -> bool |
| Indicates if all elements in a span satisfy predicate . More...
|
|
template<typename T , typename P , typename S , typename Predicate > |
static auto | eagine::memory::any_of (basic_span< T, P, S > spn, Predicate predicate) -> bool |
| Indicates if any elements in a span satisfy predicate . More...
|
|
template<typename T , typename P , typename S , typename Predicate > |
static auto | eagine::memory::none_of (basic_span< T, P, S > spn, Predicate predicate) -> bool |
| Indicates if no elements in a span satisfy predicate . More...
|
|
template<typename T1 , typename P1 , typename S1 , typename T2 , typename P2 , typename S2 , typename UnaryOperation > |
static void | eagine::memory::for_each_delimited (basic_span< T1, P1, S1 > spn, basic_span< T2, P2, S2 > delim, UnaryOperation unary_op) |
| Scans span for parts split by delimiter, calls a function for each part. More...
|
|
template<typename T , typename P , typename S , typename UnaryOperation > |
static void | eagine::memory::for_each_chunk (basic_span< T, P, S > spn, const span_size_t len, UnaryOperation unary_op) |
| Splits span into parts of equal length, calls a function for each part. More...
|
|
template<typename Result , typename T , typename P1 , typename S1 , typename P2 , typename S2 , typename BinaryFunction > |
static auto | eagine::memory::basic_edit_distance (basic_span< const T, P1, S1 > s1, basic_span< const T, P2, S2 > s2, BinaryFunction get_distance) -> Result |
| Calculates the edit distance of s1 and s2 according to get_distance.
|
|
template<typename T > |
static auto | eagine::type_name (const T &) noexcept -> std::string |
| Returns the demangled name for type T. More...
|
|
template<typename T > |
static auto | eagine::type_name () noexcept -> std::string |
| Returns the demangled name for type T. More...
|
|
template<typename T , typename = std::enable_if_t<std::is_integral_v<T>>> |
static constexpr auto | eagine::std_align (T v) noexcept |
| Converts argument to std alignment type.
|
|
template<typename T , typename = std::enable_if_t<std::is_integral_v<T>>> |
static constexpr auto | eagine::std_size (T v) noexcept |
| Converts argument to std size type.
|
|
template<typename T , typename = std::enable_if_t<std::is_integral_v<T>>> |
static constexpr auto | eagine::span_size (T v) noexcept |
| Converts argument to span size type.
|
|
template<typename T > |
static constexpr auto | eagine::span_align_of (type_identity< T >={}) noexcept |
| Returns the byte alignment of type T as span_size_t.
|
|
template<typename T > |
static constexpr auto | eagine::span_size_of (type_identity< T >={}) noexcept |
| Returns the byte size of type T as span_size_t.
|
|
template<typename T , typename S > |
static constexpr auto | eagine::span_size_of (S n, type_identity< T >={}) noexcept |
| Returns the total byte size of n elements of type T as span_size_t.
|
|
template<typename Traits > |
static constexpr auto | operator+ (const key_value_list_element< Traits > &l, const key_value_list_element< Traits > &r) noexcept -> key_value_list< Traits, 4 > |
| Concatenates two individual key/value elements into a key/value list. More...
|
|
template<typename Traits , std::size_t N> |
static constexpr auto | operator+ (const key_value_list< Traits, N > &l, const key_value_list_element< Traits > &r) noexcept -> key_value_list< Traits, N+2 > |
| Adds a key/value pair into a key/value list, returns a new list. More...
|
|
template<typename Selector , typename T > |
static auto | get_member (protected_member< T, Selector > &pm, Selector selector=Selector()) noexcept -> T & |
| Returns a reference to the member stored in protected_member.
|
|
template<typename Selector , typename T > |
static auto | get_member (const protected_member< T, Selector > &pm, Selector selector=Selector()) noexcept -> const T & |
| Returns a const reference to the member stored in protected_member.
|
|