Skip to content

C++ realization of finite automaton within case of state-machine

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.md
Notifications You must be signed in to change notification settings

Falcion/Plusenzustandsmaschine

contributors stargazers forks issues commit-activity

Plusenzustandsmaschine

Sequence your code
«Explore the docs»

View tags / Report a bug

About the project

In many other programming software, like game engines and in mathematics and animations there is a concept of a finite automaton or so-called state-machine: and its what this project does.

Ever wondered about the phasing for your method, displaying different stages and shifts by process of method, so, if there is any error you could check just by endpoint of state-machine? THIS THING DOES IT!

Built-with

Project was created, inspired and built with this wonderfuls:

[^]

Getting started

Before using this project or working with its source code, read this paragraph so that you wouldn't have unnecessary questions or problems.

Prerequisites

Before using this application, ensure you met this requirements:

  • Any potentional IDE or text-editor with C++11 native support (better if with support for C++ WPF);
  • Downloaded at least C++11 SDK on your working machine;
  • * if you desire to contribute to the project, also downloaded Node.js on your machine for integration with commits linting and auto-changelogs;

[^]

Installation

Permission is granted for free use in any of your products.

Guide for installation of source code of the class-library:

  1. clone the repository with any form of application that supports GIT;
  2. initialize linterns, NPM and HUSKY for commitlintering;
  3. make your changes via contributioning policy and commit convention;
  4. work as instructed, class-library is ready to be edited in forked repository;

Instruction about working and setting up automatically linted commits and changelog from them, read - article about Angular.js conventions.

Process of installation within DLL packaging system:

  1. download DLL of this project either through Github or through some different resources;
  2. inject DLL into your C++ project with help of IDEs like VS (which are supporting easy-to-use DLL packaging systems): in other cases, check documentations: see guide by this guy.
    1. Download headers, DLL and LIB files from releases or from repository directly (seek "DEBUG" directory);
    2. Create subfolder for library: "includes" and "lib", in first, put all headers, you'll be using them through #include and in second, put the .LIB file, the DLL put in the code path of your project (within files like .VCPROJ);
    3. Set up them with VS Code through Linker and C++/General: for more advanced tutorial, seek the video-guide.
  3. done!

If you use a different IDE without native support for NUGET, read this article: using new commands in .NET.

[^]

Usage

Project, because of its simplicity in core and common overload with functionality for unknown developer, doesn't have any direct idea of usage, but it created to define some processes for your solutions:

  • assembler for state-machine with you'll work through;
  • inner analyzer for assembler of state-machine (check the state-shift pairs, write changes into custom message system);
  • deployment: custom message system with map of key-pos and pair of hash and message, has it own "sublogic" of working;
  • default enums, classes which you can use independently from state-machine concept.

If you want to use this project in your own, just install it in and reference it as namespace: nothing special.

[^]

Roadmap

  • Create a demo version of this package to demonstrate its future;
  • Refactor the common documentation of project;
  • Refactor the main functionality-code of the package;
  • Implement XML-documentation into the package's code;
  • Write an infrastructure in the repository;
  • Design and publish first completed changelog;
  • Publish package as DLL.

[^]

Contributioning

Contributions are what make open source community such an interest place to be in - so any form of contribution are greatly appreciated.

If you think that you can help this project become better but think its not so important/realizable in the current situtation or for a full contribution, use issues block, otherwise there is a guideline and policy for contributing.

If you want to contribute to this project, please, read contributioning policy and commit convention, this repository works with CLA, commits convention and on automated deployment system.

For one-single file contributioning, use a more quicker way without forking the repository through website.

More about it in this article: in official GIT docs about syncing one-file fork.

[^]

License

Project is being distributed under the MIT License: see the file for more specified information.

This README was inspired by this - best README template.

[^]

Contact

Any public contact information for developer either team can be acquired here, in other case, use issues and discussions.

[^]

Acknowledgements

[^]

About

C++ realization of finite automaton within case of state-machine

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.md

Code of conduct

Security policy

Stars

Watchers

Forks