Commit Graph
145 Commits
Author SHA1 Message Date
andrey fa7ff781fe refactor: use targeted includes (pibase_macros.h, piliterals_string.h) and guard <string> by PIP_HAS_RTTI 2026-08-31 19:12:38 +03:00
andrey 8e9ba0298e fix: guard RTTI/threads/filesystem dependent code for arbitrary flag combinations 2026-08-31 17:10:38 +03:00
andrey 86a1084ec1 feat: enforce no-RTTI type name registration with static_assert 2026-08-23 08:20:51 +03:00
andrey f6075307b6 style: run clang-format over all files 2026-08-22 15:52:58 +03:00
andrey 858d205fd3 fix: guard PIObject dump diagnostics by PIP_INTROSPECTION and drop PIP_FORCE_NO_PIINTROSPECTION
- invert friend block in piobject.h (friends needed when introspection
  is enabled) and remove dead friend PIObjectManager
- guard PIObject::dump()/dumpApplication()/dumpApplicationToFile()
  declarations and definitions by PIP_INTROSPECTION
  (dumpApplicationToFile additionally requires PIP_HAS_FILESYSTEM)
- guard dumpApplicationToFile() call in __sighandler__ by
  PIP_INTROSPECTION && PIP_HAS_FILESYSTEM
- replace '#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)'
  with plain '#ifdef PIP_INTROSPECTION' everywhere, remove PIP_FORCE_NO_PIINTROSPECTION
- fix broken PIINTROSPECTION_CONTAINER_ALLOC(T, (as - ...)) in
  pideque.h/pivector.h ('as' no longer exists, use new_rsize)
2026-08-22 13:44:58 +03:00
andrey d27e796595 Add forEach method to PIVector2D 2026-03-28 20:17:58 +03:00
andrey 96c22e1184 move std function 2026-03-20 16:31:30 +03:00
peri4 ed13838237 merged AI doc, some new pages 2026-03-12 14:46:57 +03:00
andrey 9588b48105 PIVector2D - add funcs, optimize, tests, fixes, doxygen (#194)
Reviewed-on: #194
Co-authored-by: andrey.bychkov <andrey@signalmodelling.ru>
Co-committed-by: andrey.bychkov <andrey@signalmodelling.ru>
2026-02-27 23:58:44 +03:00
andrey 8ecec6b914 add more funcs 2026-02-17 21:40:36 +03:00
andrey 9029bcf099 Vibecoding PIVector2D - add funcs and doc
Добавь в файл pivector2d.h комментарии для Doxygen ко всем классам и
всем функциям.
Комментарии должны быть в таком же стиле как в файле pivector.h.

Проанализируй функциональность классов pivector2d в файле pivector2d.h и
класс pivector в файле pivector.h и добавь недостающую функциональность
в pivector2d по аналогии с pivector.
2026-02-17 21:04:40 +03:00
peri4 a61c8477c7 fix PIMap operator<<(PIMap) error for size=2 2025-09-22 22:34:06 +03:00
peri4 79007e7b4e PIString::arg() now ignore non-suitable %.
PIVector and PIDeque now use std::stable_sort
2024-12-07 12:57:48 +03:00
peri4 dff4f2b3a0 add http_client library, using libcurl
take out common http entities to http_common dir
2024-11-23 17:54:22 +03:00
peri4 bf9ad65ff0 take out "asize" from vector/dequeue to picontainers.h->calcNewSize()
minAlloc and maxPoTAlloc now can be override from CMake by PIP_CONTAINERS_MIN_ALLOC and PIP_CONTAINERS_MAX_POT_ALLOC variables
2024-11-21 20:15:18 +03:00
peri4 4aa596b179 last commit error 2024-11-21 00:18:57 +03:00
peri4 9ab46e4afc version 4.4.1
PIVector and PIDeque now growth to 64 MiB with PoT, then increments size by 64 MiB
in case of large containers it significantly save memory
2024-11-21 00:10:14 +03:00
peri4 caa7880cc4 get rid of piForeach
apply some code analyzer recommendations
ICU flag now check if libicu exists
prepare for more accurate growth of containers (limited PoT, then constantly increase size)
2024-11-20 20:01:47 +03:00
peri4 7cd2f7a310 PIBinaryStream supports PISet 2024-10-21 13:47:28 +03:00
peri4 000ce2a54d PICout improvement:
* renamed private members for more clear code
 * registerExternalBufferID() method to obtain unique ID for withExternalBuffer()
 * PICoutManipulators::PICoutStdStream enum for select stream (stdout or stderr)
 * Constructors now accept optional stream
 * piCerr and piCerrObj macros

PIDir::temporary() moved to "mkdtemp"

PILog:
 * now 4 levels
 * you can set max level
 * Error writes to piCerr
2024-09-16 16:06:07 +03:00
peri4 9d4357c066 PIVector2D =() fix 2024-09-15 16:50:15 +03:00
andrey d764171c82 Обновить libs/main/containers/pipair.h 2024-05-13 14:35:49 +03:00
peri4 d4a024ea75 remove harmful createPIPair() 2024-05-06 19:22:22 +03:00
peri4 04d3e31dbc PISet fix 2024-04-05 21:02:37 +03:00
peri4 9f29155d07 PISet fixes 2024-04-05 20:59:59 +03:00
peri4 ee4d78d2e1 add PISet::const_iterator, now can iterate ranged-for PISet by T, not by PIPair<T, bool> 2024-04-05 17:13:18 +03:00
andrey b14d30108a Optimization removeAll and removeWhere in PIVector and PIDeque (#180)
Reviewed-on: #180
Co-authored-by: Andrey Bychkov <andrey@signalmodelling.ru>
Co-committed-by: Andrey Bychkov <andrey@signalmodelling.ru>
2024-03-13 10:43:02 +03:00
peri4 50bff12364 map and cloud fix, add cloud debug 2024-02-22 17:10:38 +03:00
peri4 56aed70425 version 3.13.1 2023-07-14 10:51:01 +03:00
andrey 63321a4ce3 doc fix 2023-07-13 13:08:27 +03:00
andrey 66fb93ba88 change PIMap::at and add const to PIMap and PIBinaryLog 2023-07-13 12:32:45 +03:00
andrey 3a6b3a4064 добавил const для части контейнеров и explicit для конструкторов 2023-07-03 19:10:36 +03:00
peri4 c2b8a8d6da code format 2022-12-14 14:13:52 +03:00
Бычков Андрей 39d81dd23b PICloudServer don't delete clients 2022-11-10 19:01:28 +03:00
Бычков Андрей eddef26b5e doc PIMap PIStack PIQueue done 2022-09-02 09:44:47 +03:00
Бычков Андрей db3de9904a pimap some doc 2022-08-30 18:15:13 +03:00
Бычков Андрей 3511fee459 pimap some doc 2022-08-30 17:49:09 +03:00
Бычков Андрей 5a1a381a32 containers doc 2022-08-29 18:32:55 +03:00
Бычков Андрей 1bc9f5ed19 PIVector and PIDeque takeRange 2022-08-25 17:35:49 +03:00
Бычков Андрей 8370351ff3 add doc to previous commit 2022-08-24 17:33:00 +03:00
Бычков Андрей 952020a3e2 PIVector and PIDeque: split and splitBySize 2022-08-24 17:28:48 +03:00
Бычков Андрей b35ec1f30a PIVector and PIDeque some code clean 2022-08-23 16:47:33 +03:00
andrey 443eeed38b Merge pull request 'PIDeque optimize and bugfix' (#165) from deque2 into master
Reviewed-on: https://git.shs.tools/SHS/pip/pulls/165
2022-08-23 10:30:05 +03:00
Бычков Андрей 4635e9ba4f insert optimize 2022-08-22 17:47:45 +03:00
Бычков Андрей 49e553c551 PIDeque optimize and bugfix 2022-08-22 15:59:25 +03:00
andrey 1abcf06bf6 PIVector some optimize code 2022-08-16 22:20:04 +03:00
andrey 2550f76376 return move-assignment vector optimization 2022-08-16 20:26:42 +03:00
peri4 67561636e5 return move-assignment dequeue optimization 2022-08-12 23:53:22 +03:00
Бычков Андрей 00f7a24d54 new caontainers functions
atWhere()
lastAtWhere()
contains(v)
filter(), map(), reduce(), forEach() indexed and reverse variants
fix PIDeque reverse for
fix insert with move of complex type potential segfault
2022-08-12 18:14:55 +03:00
Бычков Андрей cd7af5e9b7 remove pimap.cpp 2022-08-10 15:14:47 +03:00