| Age | Commit message (Collapse) | Author |
|
|
|
(supported for now).
|
|
- Some improvements to template.h
- Many smaller improvements to examples and docs.
|
|
macro which are both unsafe regarding side effects on arg.
|
|
is consistent with other c_for* macros.
|
|
README.md docs.
|
|
..), as it gives smaller executables and is convenient for small applications. (no need to define i_implement when functions is used in one translaton unit only).
|
|
|
|
- Non-templated types (cstr, csview, cbits, crandom) have no longer default static linking. Now i_header is defined, i.e. files are as headers only.
==> Define `i_implement` before file inclusion. Still possible to do static linkage by defining `i_static` before inclusion or global STC_STATIC.
- Templated containers still have static linkage by default.
- Renamed csview_substr(), csview_slice() to csview_substr_ex(), csview_slice_ex(). Added simpler inlined csview_substr(), csview_slice().
|
|
string. Fixed misc warnings.
|
|
|
|
changes.
|
|
|
|
c_pair(v) for convenience.
|
|
'_del' to '_drop' and '_compare' to '_cmp'.
Also i_key_ref (earlier i_key_sptr) and i_val_ref replaced by more general i_key_bind/i_val_bind.
|
|
Renamed *cstr_assign_fmt()* to `cstr_printf()`.
Renamed cbits_from_str() to cbits_from().
|
|
- Removed: i_cmp_none and i_fwd (replaced by c_no_compare and c_is_fwd args to i_opt).
- Added compile-time disabling of clonable and comparable container elements, controlled by i_opt (c_no_clone | c_no_compare)
- Added i_opt: can define multiple compile-time options: c_no_compare, c_no_clone, c_no_atomic, c_is_fwd: may be combined with | separator.
- Except for csptr, when i_del / i_valdel / i_keydel is defined, also i_from / i_keyfrom / i_valfrom must be defined or i_opt c_no_clone.
- For struct elements, either i_cmp must be defined (as before), or define i_opt c_no_compare for non-associative containers.
|
|
cdeq, cmap, csmap, cslist
|
|
|
|
c_apply()/c_apply_pair() macros, and removed c_var() macro.
Removed CX_emplace_items() member functions in containers used by c_emplace().
|
|
c_forvar => c_autovar
c_forscope => c_autoscope
c_forauto => c_auto
Removed: c_fordefer(x); use c_forscope(0, x) instead.
Added: c_exitauto; // continue
|
|
|
|
|
|
deceiving and hid the fact that it was for-loops. Now it is more explicit.
|
|
csmap_insert.c example.
|