Code Monkey home page Code Monkey logo

spoon's Introduction

spoon

a c++14 binary serializer, deserializer header only library, for custom binary formats

TODO

  • spoon::serialize()

  • spoon::deserialize()

  • spoon::big::bool8

  • spoon::big::uint8

  • spoon::big::uint16

  • spoon::big::uint32

  • spoon::big::uint64

  • spoon::repeatENGINE

  • spoon::repeat[ENGINE](min, max)

  • spoon::repeat[ENGINE]( -> size_t { return 3;})

  • [] spoon::repeat_until[ENGINE]([](const auto& count) -> bool { /true when done repeating/})

  • spoon::optional[ENGINE]

  • spoon::optional[ENGINE]( -> bool { /*true if expect to be parsed generated */})

  • [] spoon::any[ENGINE1, ENGINE2, ENGINE3] //left to right first wins

  • [] spoon::any[ENGINE1 ENGINE2, ENGINE3]([](const auto& attr ) -> bool) //"asks" if ENGINE1 for ENGINE1::attribute_type shall be used

  • [] spoon::any_by_index[ENGINE1, ENGINE2, ENGINE3]( -> index_type { return index to use })

  • [] spoon::any_of[ENGINE1, ENGINE2, ENGINE3]( -> engine { return engine to be used }) //do look up by user and return own type

  • [] spoon::seq(ENGINE1, ENGINE2,..)

  • [] ENGINE1 << ENGINE2 << ENGINE3...

  • [] spoon::eps[] //???

  • [] spoon::engine::bits<buffer_type, attr_type, bits, offset> // can extract 4bit value into enum

  • [] spoon::flag<buffer_type, offset>// extract single bit to bool

  • [] spoon::adv //go to next byte

  • [] spoon::adv(count) go to count next byte

  • [] examples

  • [] bacnet_npdu

  • [] simple examples

  • [] benchmarks

  • [] documentation

  • [] add static_asserts to spoon::serialize deserialzie

spoon::serialize(sink, spoon::serializers::repeat[spoon::serializers::big_endian::uint32], list) spoon::deserialize(sink, spoon::deserializers::repeat[spoon::deserializers::big_endian::uint32], list)

spoon's People

Contributors

dan-42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

spoon's Issues

project status

Is the project still active? Do you still review pull requests??

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.