This is a personal C++ lib, and some features are only available on Windows.
- Text user interface
- Packaged containers
- IO & file operations
- Ansi escaping
- Some algorithms
- Math support
- Color calculation
- (Windows) Web socket
- (Windows) Console extension
- And more...
Simply clone the repo and include header files.
git clone https://github.com/PCwqyy/PCLib.git
git clone https://gitee.com/pcwqyy/PClib.gitExample:
#include"/path/to/PCLib/TUI/TUI.hpp"See here.
The author is a Chinese high school student who is not so good at English, so please forgive him when you find that he made some stupid mistakes (commonly misspellings).
Maybe native speakers will think my tone is too formal. If so, I feel pretty sorry about this. Our high school in China just teaches English like this.
Email: w123567910@outlook.com
Blogs: www.cnblogs.com/PCwqyy
The project uses MIT License.
Any contribution is welcome! You can take part through the methods below:
- Submit issues to report a bug or suggest a new feature
- Submit pull requests to fix issues
- Improve documents
- DOM structure for TUI lib. (This is not a small change)
- Auto syncing data container
SyncedData
- Added some comment (Doc actually)
- Optimized
Large, and it temporarily becomes unsigned...
- Make
Largesign again(MLSA)
- Added class
pc::Exception, which will be used in exception management. - Refined throws in
Large
- Comments and spellings.
- Began to write DOM tree
- Began to write PCML parser
- Considering rename the TUI part to 钼 Molybdenum?
- PCML element parser finished, but haven't debugged yet.
- Finished tag, class and id selector, offspring selector of
Element::QuerySelectorAll(), and here is still child selector left to do. - Fixed the issue that
pc::File::String()will always return a additional\377wrongly.
- Fixed lethal logical mistake in
PCML::Make - Finished
Element::QuerySelectorAll()
- Add a new container
SyncedData, which is used to create a data group that will automatically synchronize the data to each other. That means if you modified a variable in group, the other variables will also changed.
- Change
SyncedDatainto double-ended-tree. Now it can be destructed safely.
- Added a copy function for
SyncedData, which is now safe to copy - Change
Element::ID,Element::ClassListto mappings ofElement::Attributeinstead of isolated variables to match the behavior of the Web DOM - Changed the return type of
Element::QuerySelectorAllto pointer to the original element to mimic the behavior of the Web DOM
- Scrolled back
Command.hppto 25v4a - Modified Cmd Fight to make it be able to compiled again.
OptimizedRewrotePCML.hpp- Fixed memo leaking issue in
Element.hpp
- Added some comment
- Optimized
Element.hpp - Added some new functions
- Added some comment
- Added some new functions
New Demo: PCML
Presenting how to use PCML and relative DOM-like operation
- Added some new functions
New Demo: Clock
Presenting how to use Ansi.hpp
- Wrote
Buffer.hpp
- Seperated
Unicode.hpp - Optimized
Buffer.hpp
- Minor fixes
New Demo: Large
Demonstrating how to use Large class